VBA:邮件合并 - 未找到字段对话框

时间:2015-02-18 06:59:52

标签: excel vba mailmerge

我一直在编写一个工具,通过Excel VBA中的一组ODBC表从SQL数据库中提取数据,并使用邮件合并和Word对象将信息插入到一些预格式化的报告中。某些报告有一些可选字段,可能并不总是包含数据。在这些情况下,数据库中完全没有这些可选字段。

我的代码被设计为动态的,并使用数据库中的问题详细信息作为字段标题生成合并信​​息(通过使用VBA合并的CSV文件)。我的问题源于输出合并文件中没有选项问题,Word提示用户“删除字段”。我一直在努力寻找一种程序化的方式来代表用户基本回答这个对话框(这将始终是删除字段),或者只是知道该做什么而不需要询问。

我找不到一个模块,命令或函数,它会告诉单词对象自动清除它,或者任何处理程序以编程方式回答问题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

只是因为其他人陷入了类似的问题,这就是我如何解决这个问题:

  1. 而不是打开数据源,而是打开一个headersource。在我的例子中,头源和数据源是相同的文件。
  2. 将合并字段(< word doc object> .MailMerge.Fields)与文件中的字段(< word doc object> .MailMerge.DataSource.FieldNames)进行比较。未找到时删除每个合并字段(< MailMergeField> .delete)。
  3. 正常打开数据源,如果第一个记录与头文件的文件相同,则将其设置为2.