【问题标题】:Word 2007: Hide printing dialogWord 2007:隐藏打印对话框
【发布时间】:2011-09-05 07:22:27
【问题描述】:

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

有人出主意

ActiveDocument.PrintOut Background:=true

没有任何影响。

【问题讨论】:

    标签: vba ms-word word-2007 printdialog


    【解决方案1】:

    Word 让您可以控制 DocumentBeforePrint 事件,这反过来又使您可以控制打印对话框的显示。此事件需要手动添加到您的 VBA 代码中。您是否控制单个文档或所有未来文档的对话框将取决于代码是放置在单个文档中还是生成新文档的模板中。

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

     Option Explicit
     Private WithEvents app As Application
    

    然后编辑Document_New()Document_Open() subs 以包含这一行:

     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 等方法访问打印功能即可打印文档,该方法将显示打印对话框。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-05
      • 1970-01-01
      相关资源
      最近更新 更多