df = df.sort_index(axis=1)
中的默认打印机 Control Panel> Printer and Faxes
我有两个活动打印机连接到我的系统。
我希望HP LaserJet P2035 on Ne02:
使用我的第二台打印机: PrintOut
在HP LaserJet Pro MFP M127-M128 PCLmS on Ne01:
我在嵌入文档上方Sheet1
。
我的代码是:
PrintOut
不幸的是Sub PrintJob()
Dim ObjWord As Word.Application
Dim objDoc As Word.Document
'Initialization
ActiveSheet.OLEObjects("WDoc").Activate
Set ObjWord = GetObject(, "Word.Application")
ObjWord.Visible = False
Set objDoc = ObjWord.activedocument
Application.ActivePrinter = "HP LaserJet Pro MFP M127-M128 PCLmS on Ne01:"
objDoc.PrintOut
End Sub
使用PrintOut
打印机完成了。
因此HP LaserJet P2035 on Ne02:
不接受PrintOut
参数。
关键是ActivePrinter
在PrintOut
打印中使用时,ActivePrinter
更改正确。 (如下)
Worksheet
但问题是要更改Application.ActivePrinter="HP LaserJet Pro MFP M127-M128 PCLmS on Ne01:"
ThisWorkbook.ActiveSheet.Printout
和ActivePrinter
(首先是代码),objDoc.PrintOut
无效,ActivePrinter
使用我的系统默认打印机。
答案 0 :(得分:0)
在这种情况下(设置用于打印嵌入文档的特定打印机),重点是我们应该为嵌入对象Application
对象设置打印机。
Sub PrintJob()
Dim ObjWord As Word.Application
Dim objDoc As Word.Document
'Initialization
ActiveSheet.OLEObjects("WDoc").Activate
Set ObjWord = GetObject(, "Word.Application")
ObjWord.Visible = False
Set objDoc = ObjWord.activedocument
'Here we set the ActivePrinter for the objWord's Application object:
objWord.Application.ActivePrinter = "HP LaserJet Pro MFP M127-M128 PCLmS on Ne01:"
objDoc.PrintOut
End Sub