2014-07-10 100 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。這樣,我認爲,需要響應彈出窗口,因爲全部都是在代碼中處理的。