隐藏打印对话框



我有一个vba宏,将用不同的页面设置打印字母两次。这很有效。但有时(我不知道为什么)打印对话框(选择打印机,…)出现。如何隐藏打印对话框?我喜欢用默认的打印机打印,不喜欢更改设置。

有人出主意了

ActiveDocument.PrintOut Background:=true

Word允许您控制DocumentBeforePrint事件,从而提供了控制打印对话框显示的访问权限。此事件需要手动添加到VBA代码中。是控制单个文档的对话框,还是控制将来所有文档的对话框,取决于代码是放在单个文档中,还是放在生成新文档的模板中。

将以下代码添加到ThisDocument的VBA声明部分:

 Option Explicit
 Private WithEvents app As Application

然后编辑Document_New()Document_Open()子目录,包括这一行:

 Set app = Application

最后,用以下代码创建DocumentBeforePrint子(同样在ThisDocument中):

 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等方法访问打印函数,后者将显示打印对话框。

相关内容

  • 没有找到相关文章

最新更新