ドキュメント自動化フィールド(IF、COMPARE、MACROBUTTON、その他)

ドキュメント自動化フィールド(IF、COMPARE、MACROBUTTON、その他)

ドキュメント自動化フィールド(IF、COMPARE、その他)

このガイドでは、Word のドキュメント自動化フィールド ファミリーの使用方法を示します Aspose.Words .NET 用 FOSS – 条件付きテキストを制御し、ドキュメントスコープの変数を格納し、マクロ、ナビゲーション、印刷動作を連携させるフィールドで、単に計算結果を表示するだけではありません。各は Field サブクラスは Aspose.Words.Fields 名前空間: FieldIf, FieldCompare, FieldDocVariable, FieldGoToButton, FieldMacroButton、および FieldPrint。それらすべてはコア Field 以下で説明されているメンバー フィールドの操作 – GetFieldCode(), Update(), Remove(), Unlink(), Start/Separator/End, Result, および Format – このページでは、各項目に固有の内容を取り上げています。


条件テキスト(FieldIf)

FieldIf は実装します IF フィールド。 LeftExpression, ComparisonOperator, および RightExpression 条件を記述する – 同じ3部構成の形が使用される IComparisonExpressionEvaluator (参照 フィールドの操作) – および TrueText / FalseText 2つの可能な結果を保持します。Call EvaluateCondition() 条件を直接評価します; それは a を返します FieldIfComparisonResult 値: True, False, または Error.


値の比較(FieldCompare)

FieldCompare は COMPARE フィールドを実装します。FieldIf と同様に、比較を記述するための LeftExpression、ComparisonOperator、RightExpression を公開しますが、2つのテキスト代替を切り替えるのではなく、ブール型の結果を生成します。


ドキュメント変数(FieldDocVariable)

FieldDocVariable は DOCVARIABLE フィールドを実装し、VariableName プロパティを介して名前付きのドキュメントスコープ変数を読み取ります。


ボタン: FieldGoToButton と FieldMacroButton

FieldGoToButton は GOTOBUTTON フィールドを実装します: Location はジャンプ先のブックマーク、ページ、またはその他の宛先の名前を指定し、DisplayText は文書に表示されるラベルです。FieldMacroButton は MACROBUTTON フィールドを実装します: MacroName は実行するマクロの名前を指定し、DisplayText はラベルです。FieldIf と FieldMacroButton はさらに IMergeFieldSurrogate を実装しており、これは Word の差し込み印刷対応フィールドが自分自身を置換可能なコンテンツとしてマークするために使用するインターフェイスです。


FieldPrint を使用した印刷指示

FieldPrint は PRINT フィールドを実装します: PrinterInstructions と PostScriptGroup は文書に直接埋め込まれたプリンター固有の指示を保持します。


ヒントとベストプラクティス

  • 自分で TrueText/FalseText を解析する必要なく、FieldIf.EvaluateCondition() を使用して条件の結果 (FieldIfComparisonResult) を読み取ります。
  • FieldCompare と FieldIf は同じ LeftExpression/ComparisonOperator/ RightExpression 形状を共有しています――比較式を構築または検査するコードは、両方のフィールドタイプで再利用できます。
  • これらはすべてであることを覚えておいてください Field サブクラス: GetFieldCode(), Update(), Remove()、そして Unlink() from フィールドの操作 ここでも全く同じ方法で適用します。

よくある問題

問題原因修正
FieldIf.EvaluateCondition() は Error を返します条件のオペランドまたは演算子は記述どおりに評価できませんでした有効な値かどうか、LeftExpression、ComparisonOperator、および RightExpression を確認してください
FieldDocVariable の結果が期待される変数の値を反映していませんVariableName がドキュメント内に実際に存在する変数名と一致しませんResult を読み取る前に、正確な変数名とその存在を確認してください
FieldGoToButton/FieldMacroButton の表示テキストが Word の表示と一致しませんDisplayText がフィールドの更新前に読み取られたか、対応する Update() 呼び出しなしに設定されましたフィールドに対して Update() を呼び出すか、変更後に DisplayText を再読込してください

FAQ

条件付き IF フィールドの結果はどのように読み取りますか?

生の FieldIfComparisonResult を取得するには FieldIf.EvaluateCondition() を呼び出すか、フィールドが切り替える 2 つの文字列リテラル代替項目を取得するには TrueText / FalseText を読み取ります。

FieldIf と FieldCompare の違いは何ですか?

FieldIf(IF フィールド)は条件に基づいて TrueText と FalseText を切り替えます。FieldCompare(COMPARE フィールド)は同じ比較形を共有しますが、代替テキストではなくブール型の結果を生成します。

DOCVARIABLE フィールドから文書変数の名前を取得するにはどうすればよいですか?

「FieldDocVariable.VariableName」を読む。

GOTOBUTTON フィールドの宛先はどうやって見つけますか?

Read FieldGoToButton.Location; DisplayText は、ドキュメント内のボタンに表示されるラベルを提供します。


API Reference 概要

クラス / 列挙型説明
FieldIfIF フィールド; LeftExpression, ComparisonOperator, RightExpression, TrueText, FalseText, EvaluateCondition()
FieldIfComparisonResultEnum FieldIf.EvaluateCondition() の結果: True, False, Error
FieldCompareCOMPARE フィールド; LeftExpression, ComparisonOperator, RightExpression
FieldDocVariableDOCVARIABLE フィールド; VariableName
FieldGoToButtonGOTOBUTTON field; Location, DisplayText
FieldMacroButtonMACROBUTTON フィールド; MacroName, DisplayText
FieldPrintPRINT フィールド; PrinterInstructions, PostScriptGroup

参照

 日本語