0
我有一个MSAccess数据库,它使用docmd打开调用邮件合并的Word文档。一切工作正常,除了有一个对话框,它从用户隐藏。 Alt Tab必须用于调用对话框到屏幕。MSAccess调用MSWord
是否有将该对话框带到前台的方法?
我有一个MSAccess数据库,它使用docmd打开调用邮件合并的Word文档。一切工作正常,除了有一个对话框,它从用户隐藏。 Alt Tab必须用于调用对话框到屏幕。MSAccess调用MSWord
是否有将该对话框带到前台的方法?
什么是确切的DoCmd命令?也许你开始一个外部应用程序?之后,你无法控制它。这是更好地使用这种方式:
首先对您的Office版本的引用(在VBA编辑器:菜单工具>参考)选择:
在VBA的Microsoft Office 14.0对象库
然后使用此代码:
'Create Word object (open Word)
Dim WordApp As Object
Set WordApp = CreateObject("Word.Application")
'Mailmerge
WordApp.ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
WordApp.ActiveDocument.MailMerge.OpenDataSource Name:= _
GetCSVFileName(aSurvey, ModuleName), _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:="", SQLStatement:="", SQLStatement1 _
:="", SubType:=wdMergeSubTypeOther
和结束时,关闭:
WordApp.Quit 0
Set WordApp = Nothing
您可以通过录制宏(在Word),同时进行邮件合并得到的特定代码。通过这种方式,您可以使用Word进行各种操作:打开文档,启动mailmerge,保存为PDF等。所有内容都来自您的Access VBA。这样,我认为,需要响应弹出窗口,因为全部都是在代码中处理的。