我可以通过VBA以编程方式控制HP打印机驱动程序设置中的“旋转180度复选框”选项吗?

时间:2008-11-13 16:18:31

标签: vba ms-word printing rotation duplex

我正在尝试使用双面打印器单元打开和关闭HP Laserjet打印机(4200/4350)的旋转180度设置。

业务部门要求“双面打印”,以便最大程度地控制我希望能够在打印时(通过打印宏)进行操作,无论是否为每种不同类型的打印机启用了双面打印业务合作的文件。

我可以控制纸盘分配,打印指令和打开和关闭双面打印。但是,无法弄清楚如何控制旋转选项(打开和关闭)。

除了毛毯之外的任何其他解决方案 - 在打印服务器上为所有文档/用户启用此选项吗?

2 个答案:

答案 0 :(得分:1)

也许可以通过以下方式控制HP双工选项:

Printer Object:Access 2003 VBA语言参考(http://msdn.microsoft.com/en-us/library/aa223133(office.11).aspx

更具体地说:

Duplex Property(http://msdn.microsoft.com/en-us/library/aa195860(office.11).aspx

答案 1 :(得分:1)

COM接口是您所需要的。更改托盘的python代码如下:VB遵循相同的基本步骤。

import win32print
PRINTER_DEFAULTS = {"DesiredAccess":win32print.PRINTER_ALL_ACCESS}
pHandle = win32print.OpenPrinter('PRINTERNAME', PRINTER_DEFAULTS)
properties = win32print.GetPrinter(pHandle, 2) #get the properties
pDevModeObj = properties["pDevMode"] #get the devmode
pDevModeObj.DefaultSource = tray_three #change some sort of setting... this case is the tray
properties["pDevMode"]=pDevModeObj #write the devmode back to properties
win32print.SetPrinter(pHandle,2,properties,0) #save the properties to the printer

当然,您可以通过单词中的vba更改打印机设置。如果您使用excel或任何其他办公产品,它将无法使用。