问题描述
{ MERGEFIELD TableStart:Test}{ SET PLAN {MERGEFIELD Name}="XYZ" "1" "0"}} { MERGEFIELD TableEnd:Test }
{ IF { REF PLAN } = "1" "通过" "失败"}
在这个例子中总是得到结果Fail,不管Name是不是“XYZ”。
有人可以进一步建议吗?
解决方法
在您的 SET 字段中,您应该使用 IF 字段来评估条件。请参阅以下字段代码:
{ SET PLAN { IF {MERGEFIELD Name} = XYZ "1" "0"} }
{ IF { REF PLAN } = "1" "Pass" "Fail" }
使用以下代码执行简单邮件合并后:
Document doc = new Document(@"C:\Temp\in.docx");
doc.MailMerge.Execute(new string[] { "Name" },new string[] { "XYZ" });
doc.Save(@"C:\Temp\out.docx");
生成的文档具有以下域代码:
{ SET PLAN XYZ = XYZ "1" "0"} }
{ IF { REF PLAN } = "1" "Pass" "Fail" }
使用“通过”文本正确评估。
在 MS Word 文档字段中,空格也很重要。看我这边MS Word文档截图