我有一个MSAccess数据库,它使用docmd打开调用邮件合并的word文档。除了有一个对用户隐藏的对话框外,一切正常。必须使用Alt Tab将对话框调用到屏幕。
是否有办法将该对话框带到前面?
答案 0 :(得分:0)
确切的DoCmd命令是什么?也许你开始一个外部应用程序?在那之后你无法控制它。以这种方式使用它会更好:
首先引用您的Office版本(在 VBA编辑器:菜单工具> 参考)中选择:
Microsoft Office 14.0对象库
然后在VBA中使用此代码:
'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
您可以在执行mailmerge时通过录制宏(在Word中)来获取特定代码。通过这种方式,您可以使用Word执行各种操作:打开文档,启动mailmerge,保存为PDF等等。所有这些都来自Access VBA。这种方式,我认为,需要回复弹出窗口,因为所有都是用代码处理的。