我有一個vba宏,它將使用不同的頁面設置打印兩次字母。這很好。但有時(我不知道爲什麼)出現打印對話框(選擇打印機,...)。我怎樣才能隱藏打印對話框。我喜歡在默認打印機上打印,不想更改設置。Word 2007:隱藏打印對話框
有人的想法
ActiveDocument.PrintOut Background:=true
不要有任何效果。
我有一個vba宏,它將使用不同的頁面設置打印兩次字母。這很好。但有時(我不知道爲什麼)出現打印對話框(選擇打印機,...)。我怎樣才能隱藏打印對話框。我喜歡在默認打印機上打印,不想更改設置。Word 2007:隱藏打印對話框
有人的想法
ActiveDocument.PrintOut Background:=true
不要有任何效果。
Word允許您控制DocumentBeforePrint事件,這反過來又提供了一個訪問來控制打印對話框的顯示。這個事件需要手動添加到你的VBA代碼中。無論是控制單個文檔的對話框還是所有將來的文檔,都取決於代碼是放在單個文檔還是生成新文檔的模板中。再次
Set app = Application
最後,創建DocumentBeforePrint子(:
這個代碼添加到VBA聲明節的ThisDocument:
Option Explicit
Private WithEvents app As Application
然後編輯Document_New()
和Document_Open()
潛艇,包括這條線本文檔)用以下代碼:
Private Sub app_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)
'Invoke your macro to print a letter twice with different settings here
Cancel = True
End Sub
Cancel = True
行取消標準的打印對話框,以便代碼不嘗試打印文檔兩次。此解決方案運行的前提是您的現有宏將打印文檔而不通過諸如Dialogs(wdDialogFilePrint).Show
之類的方法訪問打印功能,該方法將顯示打印對話框。希望這可以幫助。