Dan*_*sen 0 vba datasource ms-word mailmerge word-vba
我正在尝试通过单词邮件合并文档的数据源.
我通过邮件合并数据源运行的代码如下所示:
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord
lastDoc = ActiveDocument.MailMerge.DataSource.RecordCount
Run Code Online (Sandbox Code Playgroud)
现在一切都很好.我运行数据源并做我需要做的事情.
现在,由于其他原因,我正在制作此用户的用户使用小帮助函数:Mail Merger Helper(它存在于Word 2010中)
但是当他们使用它时,我的ActiveDocument.MailMerge.DataSource.RecordCount返回-1.这意味着它无法决定数据源中的记录数.我的假设是Mail Merger Helper没有正确设置数据源.
但这阻止我迭代邮件合并(当他使用帮助程序时,他仍然可以激活通常的邮件合并功能,例如查看合并的结果).
怎么了?有没有替代迭代合并,所以我可以逐个获取记录?
谢谢bibadia,你带领我走上正轨.
将ActiveRecord设置为wdLastRecord时.您可以从ActiveRecord中读取最后一个数据源.所以我只需要抓住它,然后再次将ActiveRecord设置为wdFirstRecord.
Dim count As Integer
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdLastRecord
count = ActiveDocument.MailMerge.DataSource.ActiveRecord
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord
Run Code Online (Sandbox Code Playgroud)