• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【WSH】スクリプトを作るスクリプト)

【WSH】スクリプトを作るスクリプト

このQ&Aのポイント
  • フリーソフトがインストールできないため、社内で使用するスクリプトをWSH(vbs)で作成しました。しかし、ユーザーの入力に合わせてスクリプトを作成する際、WriteLineの中に変数を代入することができず問題が発生しました。解決策を教えてください。
  • ユーザーが入力したパスをスクリプト内に入れ込む方法がわかりません。具体的には、InputBox関数でユーザーの入力を取得し、その値をWriteLineの中に代入したいと考えています。解決策を教えてください。
  • WSH(vbs)を使用してスクリプトを作成していますが、WriteLineの中に変数を代入することができません。何か他の方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.2

p = InputBox("フォルダのパスを入力してください。") Set objFS = CreateObject("Scripting.FileSystemObject") Set objTS = objFS.CreateTextFile("スクリプトA.vbs") objTS.WriteLine "MsgBox " & chr(&H22) & p & chr(&H22) objTS.Close 別に、でいいんじゃない? 「"」の表示方法だけでしょ。

osakana4848
質問者

お礼

回答ありがとうございます! 上記の方法で、意図どおりの結果を得ることができました!! 同じ方法を思いつき、テストしてみたんですが うまくいかなかったんですよね。。。 おそらくedominn7777さんの言うように「"」の使い方が まずかったんだと思います。 ありがとうございました!!

その他の回答 (2)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

他の言語では、文字列の中に特定の書式で書くと、その部分が変数の内容が展開される、という機能を持っているものはあります。 例) perl "MsgBox \"$p\"" # 「$p」が変数$pの内容になる vbscriptにはそんな機能は無かったと記憶しています。 # 逆に、 p と書いて変数pを展開するようだったら、怖くて1文字の変数名など使えません すでにあるように、文字列の連結を使いましょう。

osakana4848
質問者

お礼

回答ありがとうございます。 解決しました。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

& という演算子で文字列の連結が出来ます。 objTS.WriteLine "MsgBox """ & p & """"

osakana4848
質問者

お礼

回答ありがとうございます。 ただ、上記の部分のスクリプトを置き換えてみましたが 「スクリプトA.vbs」を実行しても何も表示されないです。。。 追記>>No.2さんの回答で解決しました!

関連するQ&A