我希望能够通过vba以编程方式在后台视图中选择MS Word 2013 printpreview中的双面按钮。
我无法让PCL6代码与我们的MFC一起使用。我想要的一些文件默认打印双面,但不是所有文件。我找不到ExecuteMso按钮,因为后台视图似乎无法通过vba代码访问。 也许使用WinAPI可以工作或发送密钥,但我认为这是混乱和不可靠的。
答案 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
。
我自己尝试过,效果很好。
快乐编码。