是否可以在 Word 邮件合并中实施验证规则?我想设置 Word 文件,以便如果给定的测试失败,Word 将在尝试完成合并时采取一些措施。以下是一个例子:
我正在为一个包含人员的大型 Excel 文件创建信件,这些信件的顶部将显示他们的姓名和邮寄地址。例如,如果任何记录的“姓氏”字段为空,Word 将不允许合并,而是向用户显示一条消息。
如果有必要,我很乐意用 VBA 写一些东西,但我不知道 Word 是否有任何用于此类目的的功能。使用 Word 2013,但可以访问任何 2003+ 版本。
谢谢。
答案1
Word 确实具有“检查错误”功能,但它实际上只检查某些类型的错误,例如,在数据实际上不是数字的情况下,它可能会在 { = } 字段中发现语法错误。
对于某些类型的错误,您可以考虑为每个真正的 MailMerge 文档准备一个测试 MailMerge 文档 - 例如使用 IF 字段测试将明确检查空白姓氏并在输出中插入“错误:空白姓氏”。如果用户在测试中没有看到任何错误,他们将继续进行真正的测试。
但是字段只能测试这么多。除此之外,VBA 可能是最佳选择。但是您需要测试 Word MailMerge 将要看到的数据,这实际上意味着您需要使用 MailMerge.DataSource.Datafields 集合来检查每条记录的数据。否则,例如,如果您使用 OLE 自动化打开工作簿并检查数据,您可能会得到与 Word Mailmerge 使用 OLE DB 打开时不同的结果。在这种情况下,至少有一个潜在问题,即 DataSource 中长度超过 255 个字符的数据值会被截断。