2017-05-12 60 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 
相關問題