2017-05-12 28 views
0

我用下面的VBScript来设置默认打印机:的VBScript:设置为默认打印机层次

Option Explicit 
On Error Resume Next 
Dim objNetwork, strUNCPrinter 
strUNCPrinter = "\\printer\location\here" 
Set objNetwork = CreateObject("WScript.Network") 

objNetwork.SetDefaultPrinter strUNCPrinter 

WScript.Quit 

我想它做的是通过打印机的周期,基本上是“如果这台打印机”不是个t安装,使这一个默认“

我试着只是重复脚本,祈祷它会重复的过程,但它只是错误。

+0

如果没有安装打印机,你应该先添加,然后让它为默认打印机。我看不到代码中的任何行,它将打印机连接添加到默认打印机之前。 – Gurman

+0

@gman,是的,基本上我想要做的就是将它设置为默认打印机,只要它已经安装。如果第一台打印机没有安装,请将第二台打印机设为默认,ect – Asteria

+0

好的。我提供的解决方案将首先添加打印机连接。如果它被成功添加,那么它使它成为默认打印机。为了实现你想要的,你可以将所有的打印机名称存储在一个数组中,并循环访问该数组以检查打印机是否安装。如果未安装阵列中的特定打印机,则移至下一次迭代并再次检查。执行此操作直至找到已安装的打印机,然后将其设置为默认打印机。请参阅此网站寻求帮助:https://ss64.com/vb/network.html – Gurman

回答

1

你可以给这个代码试试:

Option Explicit 
On Error Resume Next 
Dim objNetwork, strUNCPrinter 
strUNCPrinter = "\\printer\location\here" 
Set objNetwork = CreateObject("WScript.Network") 
Set objAdd = objNetwork.AddWindowsPrinterConnection(strUNCPrinter) 
If Not objAdd Then 
    MsgBox "Printer connection unsuccessful" 
Else 
    objNetwork.SetDefaultPrinter strUNCPrinter 
End IF 

Set objAdd = Nothing 
Set objNetwork = Nothing 
相关问题