我的场景类似于excel VBA to Automatically select Yes when prompted during mail merge中描述的场景,除了我从包含要合并的数据的Access数据库运行VBA,并且(这可能是相关的)Merge正在使用DDE数据连接,因为Query是一个复杂的,并且在ODBC中不可见。我正在尝试从Access运行时应用程序运行Word邮件合并,该应用程序将由不太熟悉计算机的人使用,因此我希望避免将它们与不必要的对话框混淆。事实上,上一个问题的答案对我有用,通过阻止提示允许打开查询,其他所有事情都应该发生,但是当程序到达时,Merge会返回“无数据源”错误。执行线。看来查询提示确实被抑制了,但查询没有打开。
' open the mail merge layout file
objWord.Visible = True ' for now
lngAlerts = objWord.DisplayAlerts
objWord.DisplayAlerts = False
objWord.Documents.Add strInFileName
objWord.DisplayAlerts = lngAlerts
With objWord.ActiveDocument.MailMerge
.MainDocumentType = 0 ' wdFormLetters
.Destination = 0 ' wdSendToNewDocument
.SuppressBlankLines = True
.Execute Pause:=False
End With
任何人都可以对此有所了解吗?
答案 0 :(得分:0)
当绕过对话框时,就像用户按下否按钮一样。请参阅Microsoft的KB文章:http://support.microsoft.com/kb/825765
即。您的代码可能需要先发出OpenDataSource调用,除非您可以设置文章中描述的注册表值。