如何用vba设置电脑上的默认打印机?

如何用vba列出电脑上所有的打印机名称和端口?  和在如何用vba获取电脑上连接的默认打印机名称? 
两篇文章中我们分别介绍了如何获取电脑上当前的默认打印名称和列举当前电脑上的所有打印机。

但是用

获取的默认打印机的结果为

而用WScript.Network列举的打印机的名称为

对比下,发现如果要用

语句设置其它的打印机为默认的打印机的话,还需要知道其它的打印机对应的Ne是什么,只提供打印机的名称是不行的。

比如用以下的代码设置默认的打印机:

则会弹出如下图所示的错误提示:

那么,如何获取到本地电脑上所有曾经有连接过打印机的对应Ne呢?

可以使用如下的代码:

结果如下:

当然,如果我们想不管Ne是什么,就以看到的打印机名称作为参数设置默认打印机,可以使用如下的代码:

以上关于打印机对应的端口问题,也可以通过查找以下注册表项来获取:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts

 





       

发表评论