0

目前我有这个:

   { IF { MERGEFIELD M1} > {MERGEFIELD M2} “谢谢!” “没有” }

但它不起作用。它只会像这样工作:{ MERGEFIELD M1} > 3

是否可以比较两个 MERGEFIELD 值?

4

2 回答 2

1

在“IF 字段示例” http://office.microsoft.com/en-us/word-help/examples-of-if-fields-HP005187676.aspx中给出了一个示例,该示例完全涵盖了您想要的内容:

以下是一些通过将 IF 域代码与其他域代码一起使用来修改 IF 域代码的方法示例: - 将一个数据域与另一个数据域或书签进行比较 此 IF 域将“费率”数据域中的数字与“折扣”中的数字进行比较数据字段。如果数字相等,则打印指定的文本。

{ IF { MERGEFIELD Rate } = { MERGEFIELD Discount } "我们将为您提供更大的折扣。" " " }

(如果费率数据字段中的数字不等于折扣字段中的数字,则不会打印任何文本。)

我还没有测试过,但是您比较的两个字段的内容之间是否存在细微差别?您从哪种类型的来源中提取数据?如果数据未正确修剪,我不太确定 Word 是否将值视为值;想想值的开头或结尾处的空白字符 - 你看着它,但你看不到它。为什么不将数据输出到带有“[{MERGEFIELD A1}] [{MERGEFIELD A2}]”的测试文档中,以便您检查修剪?

于 2014-03-04T14:25:17.660 回答
0

您必须锁定您的 MERGEFIELD,以便在重新计算 IF 字段时不会重新计算它们。MS Word 会在重新计算 IF 字段时自动重新计算 MERGEFIELD 为 «M1» 和 «M2»,因此,IF 字段自然不会有正确的结果。要锁定字段,请选择它并按 CTRL + F11。要解锁它,请选择它并按 CTRL + SHIFT + F11。有关详细信息,请参阅控制 MS Word 字段的更新方式

我相信 MS Word 的邮件合并不会在锁定的合并字段上工作。作为替代方案,您可以以编程方式从 .NET 进行邮件合并,并使其在其他嵌套字段(如您的示例中的 IF)和锁定字段中工作。

于 2012-12-13T10:38:22.457 回答