我有一个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
之类的方法访问打印功能,该方法将显示打印对话框。希望这可以帮助。