我正在运行一个Excel宏,该宏在两台打印机之间切换,一台名为“ RecOffice_Pink”,另一台名为“ RecOffice_White”。
这是针对VBA问题的解决方法,该问题无法轻松指定要从中进行打印的纸盘。粉色打印机已禁用,只有一个纸盘失效,其中包含我们的粉色纸。
我正在使用
CreateObject(WScript.Network).SetDefaultPrinter "RecOffice_Pink"
and
CreateObject(WScript.Network).SetDefaultPrinter "RecOffice_White"
这在我们的Windows 7计算机上可以很好地工作,但是似乎在我们的任何Windows 10 PC上都无法工作。
没有抛出任何错误,没有创建任何消息,它似乎并没有在切换打印机。
我尝试将它们设置为我们网络上的共享打印机,并按计算机设置它们,这两种方法在Windows 7上都可以正常工作。
答案 0 :(得分:0)
InstallExecuteSequence
SetDefaultPrinter "RecOffice_Pink"
Sub SetDefaultPrinter(PrinterName As String, Optional ComputerName As String = ".")
Dim Printer As Object, Printers As Object, WMIService As Object
Set WMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & ComputerName & "\root\cimv2")
Set Printers = WMIService.ExecQuery("Select * from Win32_Printer Where Name = '" & PrinterName & "'")
For Each Printer In Printers
Printer.SetDefaultPrinter
Next
End Sub