prncnfg.vbsを使ってVBスクリプトを書いています。プリンタの名前を変えるため以下のよう書いたのですが、どつぼに嵌ってしまいどうにもこうにも解決できません


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

おかしなところがありましたらご指摘頂けないでしょうか?よろしくお願いします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/11/08 19:19:13
  • 終了:2010/11/15 19:20:03

ベストアンサー

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912010/11/08 19:41:34

ポイント35pt

プリンタ名をダブルコーテーションで囲わなければいけないようですね。

文字列中の 「"」 は 「""」 で表現しますので、コマンドは下記のようになります。


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 ですが、一応こちらでは動作しました。

id:yasunorin

なるほど!変なクセで''とか使っていました…。

2010/11/08 19:49:13

その他の回答(1件)

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912010/11/08 19:41:34ここでベストアンサー

ポイント35pt

プリンタ名をダブルコーテーションで囲わなければいけないようですね。

文字列中の 「"」 は 「""」 で表現しますので、コマンドは下記のようになります。


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 ですが、一応こちらでは動作しました。

id:yasunorin

なるほど!変なクセで''とか使っていました…。

2010/11/08 19:49:13
id:Silvanus No.2

Silvanus回答回数174ベストアンサー獲得回数672010/11/08 19:43:07

ポイント35pt

単に、strOldPrinterNameとstrNewPrinterNameの前後に

ダブルクォーテーションマークを出力し忘れているだけの様に思いますが…。

id:yasunorin

ご指摘ありがとうございます。

2010/11/08 19:51:46

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません