strOldPrinterName = "OldPrinter01"
strNewPrinterName = "NewPrinter01"
Set ObjWShell = CreateObject("WScript.Shell")
ObjWShell.Run "C:\Windows\System32\cscript.exe C:\Windows\System32\prncnfg.vbs -x -p " & strOldPrinterName & " -z " & strNewPrinterName
おかしなところがありましたらご指摘頂けないでしょうか?よろしくお願いします。
プリンタ名をダブルコーテーションで囲わなければいけないようですね。
文字列中の 「"」 は 「""」 で表現しますので、コマンドは下記のようになります。
strOldPrinterName = "OldPrinter01" strNewPrinterName = "NewPrinter01" Set ObjWShell = CreateObject("WScript.Shell") ObjWShell.Run "C:\Windows\System32\cscript.exe C:\Windows\System32\prncnfg.vbs -x -p """ & strOldPrinterName & """ -z """ & strNewPrinterName & """"
XP ですが、一応こちらでは動作しました。
プリンタ名をダブルコーテーションで囲わなければいけないようですね。
文字列中の 「"」 は 「""」 で表現しますので、コマンドは下記のようになります。
strOldPrinterName = "OldPrinter01" strNewPrinterName = "NewPrinter01" Set ObjWShell = CreateObject("WScript.Shell") ObjWShell.Run "C:\Windows\System32\cscript.exe C:\Windows\System32\prncnfg.vbs -x -p """ & strOldPrinterName & """ -z """ & strNewPrinterName & """"
XP ですが、一応こちらでは動作しました。
なるほど!変なクセで''とか使っていました…。
単に、strOldPrinterNameとstrNewPrinterNameの前後に
ダブルクォーテーションマークを出力し忘れているだけの様に思いますが…。
ご指摘ありがとうございます。
なるほど!変なクセで''とか使っていました…。