2014-07-10 63 views
0

我有一个MSAccess数据库,它使用docmd打开调用邮件合并的Word文档。一切工作正常,除了有一个对话框,它从用户隐藏。 Alt Tab必须用于调用对话框到屏幕。MSAccess调用MSWord

是否有将该对话框带到前台的方法?

回答

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 

您可以通过录制宏(在Word),同时进行邮件合并得到的特定代码。通过这种方式,您可以使用Word进行各种操作:打开文档,启动mailmerge,保存为PDF等。所有内容都来自您的Access VBA。这样,我认为,需要响应弹出窗口,因为全部都是在代码中处理的。