如何在MS Word 2013 vba中选择“双面打印”

时间:2017-05-18 15:52:55

标签: vba ms-word

我希望能够通过vba以编程方式在后台视图中选择MS Word 2013 printpreview中的双面按钮。

我无法让PCL6代码与我们的MFC一起使用。我想要的一些文件默认打印双面,但不是所有文件。我找不到ExecuteMso按钮,因为后台视图似乎无法通过vba代码访问。 也许使用WinAPI可以工作或发送密钥,但我认为这是混乱和不可靠的。

Backoffice view of Print Preview with double sided option highlighted

3 个答案:

答案 0 :(得分:1)

当您录制宏并使用双面打印选项打印时,它不会在对话框中捕获双面打印。 这是我在双面测试文档时生成的宏:

ActivePrinter = "\\MyServer\MyHPPrinter"
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
        wdPrintDocumentWithMarkup, Copies:=1, Pages:="", PageType:= _
        wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
        PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0

在录制宏的过程中,文档打印为双面。当我关闭/重新打开文档并运行Macro时,它以单面打印。从Office 365使用Word并打印到HP LaserJet9050dn。我还尝试在wdPrintAllPages之后添加, ManualDuplexPrint:=False。这对我没有任何帮助。

如果格式错误,请原谅...。这是我在这里的第一篇文章。

答案 1 :(得分:0)

您可以使用名为ManualDuplexPrint的选项控制双面打印。将其设置为False,它将双面打印。

让我们说您要双面打印整个文档。你会写:

Sub test()
    ThisDocument.PrintOut Range:=wdPrintAllDocument, ManualDuplexPrint:=False
End Sub

如果这是答案,请不要忘记点击问题旁边的复选标记! :)

答案 2 :(得分:0)

我找到了双面打印的解决方法。 Word 不支持自动双面打印选项,而是特定于打印机的选项,如果打印机支持,则加载选项。

  • 在您的电脑上安装打印机驱动程序的副本版本。我从 here 找到了很大的帮助。

  • 按照步骤安装驱动程序。重命名(使用 Duplex 以便于理解)。

  • 转到打印首选项并将双面设置设为默认值。

  • 现在在您的 VBA 代码中激活该打印机。

    ActivePrinter = "Brother DCP Duplex"

    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _ 
        wdPrintDocumentWithMarkup, Copies:=1, Pages:="s1", PageType:= _
        wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
        PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
    
  • 不需要ManualDuplexPrint:=False

我自己尝试过,效果很好。

快乐编码。