如何使用Excel VBA更改系统默认打印机?

时间:2017-06-07 06:45:50

标签: excel vba

有什么方法可以使用VBA来更改系统默认打印机?除了更改其设置?或者从VBA T-T那里询问太多了

1 个答案:

答案 0 :(得分:4)

是的,这是可能的。您需要从VBA代码中执行shell脚本:

Sub ChangePrinter()
    Shell "RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n ""HP LaserJet 3000"""
End Sub

(将HP LaserJet 3000更改为您的打印机名称。)

如果您的打印机位于网络位置(例如HP LaserJet 3000 on 192.168.1.100),请使用以下语法:

Shell "RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n ""\\192.168.1.100\HP LaserJet 3000"""

此外,还可以更改打印机设置,但需要.dat文件并进行必要的设置。

从打印机获取当前设置:

Shell "RUNDLL32 PRINTUI.DLL,PrintUIEntry /Ss /n ""HP LaserJet 3000"" /a ""C:\your_settings.dat"" u"

将设置文件提供给打印机的驱动程序:

Shell "RUNDLL32 PRINTUI.DLL,PrintUIEntry /Sr /n ""HP LaserJet 3000"" /a ""C:\your_settings.dat"" u"