0

現在、私はこれを持っています:

   { IF { MERGEFIELD M1} > {MERGEFIELD M2} 「ありがとうございます!」"いいえ" }

しかし、うまくいきません。次のようにのみ機能します。{ MERGEFIELD M1} > 3

2 つの MERGEFIELD 値を比較することは可能ですか?

4

2 に答える 2

1

「IF フィールドの例」http://office.microsoft.com/en-us/word-help/examples-of-if-fields-HP005187676.aspxには、必要なものを正確にカバーする例が示されています。

IF フィールド コードを他のフィールド コードと併用して変更する方法の例を次に示します。 - データ フィールドを別のデータ フィールドまたはブックマークと比較する この IF フィールドは、Rate データ フィールドの数値と割引フィールドの数値を比較しますデータ フィールド。数値が等しい場合、指定されたテキストが印刷されます。

{ IF { MERGEFIELD Rate } = { MERGEFIELD 割引 } "より大きな割引を提供します。" " " }

(レート データ フィールドの数値が割引フィールドの数値と等しくない場合、テキストは印刷されません。)

まだテストしていませんが、比較する 2 つのフィールドの内容に小さな違いがあるのでしょうか? どのタイプのソースからデータを引き出しますか? データが正しくトリミングされていない場合、Word が値を値として扱うかどうかはよくわかりません。値の最初または最後にある空白文字を考えてみてください - あなたはそれを見ますが、あなたはそれを見ることができません. トリミングを確認できるように、「[{MERGEFIELD A1}] [{MERGEFIELD A2}]」でデータをテストドキュメントに出力しませんか?

于 2014-03-04T14:25:17.660 に答える
0

IF フィールドが再計算されたときに MERGEFIELD が再計算されないように、MERGEFIELD をロックする必要があります。MS Word は、IF フィールドが再計算されると MERGEFIELD を自動的に «M1» と «M2» に再計算します。そのため、当然、IF フィールドは正しい結果になりません。フィールドをロックするには、フィールドを選択して CTRL + F11 を押します。ロックを解除するには、それを選択して CTRL + SHIFT + F11 を押します。詳細については、MS Word フィールドの更新方法を制御するを参照してください。

MS Word の差し込み印刷は、ロックされた差し込みフィールドでは機能しないと思います。別の方法として、 .NET からプログラムで差し込み印刷を実行し、他のネストされたフィールド (例の IF など) やロックされたフィールドで機能させることができます。

于 2012-12-13T10:38:22.457 に答える