Shaune编写了一个宏,该宏可以将产品信息表打印到PDF编写器中。当他打印到PDF编写器时,宏将为其运行的系统重置默认打印机,以便当某人随后尝试定期打印(在宏完成后)时,Word仍假定用户要打印到该打印机。 PDF编写器。 Shaune正在为其宏寻找一种在不重置默认打印机的情况下临时使用PDF writer的方法。

坏消息是Shaune,这是您无法解决重置打印机的问题。当您重置ActivePrinter属性时,Word会假定您指定的打印机一直保持活动(默认)打印机,直到您专门重置它为止。

好消息是,您还可以读取ActivePrinter属性,这意味着您的宏可以保存该人在运行宏之前选择的任何打印机,然后在退出之前重置ActivePrinter属性。结果是用户永远不会注意到默认打印机已更改,因为您的宏会感应到设置,然后将其更改回原来的设置。该技术以这种方式使用:

Sub PrinterTechnique()

Dim sCurrentPrinter as String     Dim sPDFwriter as String

' perform whatever tasks need to be done prior to printing ' make sure you also initialize the sPDFwriter string with ' the name of your PDF writer

' save current printer name, then change to PDF writer     sCurrentPrinter = Application.ActivePrinter     Application.ActivePrinter = sPDFwriter

' print document, then go back to the original printer     ActiveDocument.PrintOut     Application.ActivePrinter = sCurrentPrinter

' continue with the rest of your macro

End Sub

请注意,在此示例中,活动打印机首先保存在sCurrentPrinter变量中,然后将活动打印机设置为sPDFwriter变量中的任何值。 (如前所述,您需要初始化sPDFwriter,使其包含有效的打印机名称。)完成打印后,将活动打印机设置回先前存储在sCurrentPrinter变量中的位置。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(9808)适用于Microsoft Word 2007、2010、2013和2016。您可以在此处找到适用于Word的较早菜单界面的本技巧的版本: