0

我的场景类似于excel VBA 中描述的在邮件合并过程中提示时自动选​​择是,除了我正在从包含要合并的数据的 Access 数据库中运行 VBA,并且(这可能是相关的)Merge 正在使用 DDE 数据连接,因为 Query 是一个复杂的连接,并且在 ODBC 中不可见。我正在尝试从 Access 运行时应用程序中运行 Word 邮件合并,这些应用程序将由不太懂计算机的人使用,因此我想避免将它们与不必要的对话框混淆。上一个问题的答案确实对我有用,因为它阻止了允许打开查询的提示,并且其他所有事情都按原样发生,但是当过程到达时,合并返回“无数据源”错误.执行线。看来查询提示确实被抑制了,但是查询没有打开。

' 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

任何人都可以对此有所了解吗?

4

1 回答 1

0

当对话框被绕过时,就好像用户按下了否按钮。请参阅 Microsoft 的知识库文章:http: //support.microsoft.com/kb/825765

也就是说,您的代码可能需要先发出 OpenDataSource 调用,除非您可以设置文章中描述的注册表值。

于 2012-12-21T17:25:36.827 回答