• ベストアンサー

VBSでInputBoxを使いテキストの中身を編集

本家VBではなく、VBSなのですが、カテゴリがないので、ここに投稿させて頂きました。 <やりたいこと> 特定のパスにあるテキストファイルを開いて、 特定の文字列を探し、 InputBoxを表示し、変更したければそこに変更したい値を入力して[OK]。 (入力した値が参照した特定文字列と置換される) そのままで良ければ[キャンセル]。 を何カ所か行い終了。 <(特に)わからないこと> InputBoxを表示して、値を入力させた結果を置換させる 初心者(VBは未経験で、VBSも勉強を始めたばかりです)で何冊か本を調べたのですが分りませんでした。 Webで検索をかけてもvbsだとウィルスの情報ばかりで・・・。 よろしくお願いします。

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

  • ベストアンサー
  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.2

参考URL参照 Replace関数を使えばよい(すぐしたのURLはReplace関数) http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/vsfctreplace.asp FilesystemObjectとかは大丈夫?

参考URL:
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/vbscripttoc.asp?frame=t
mazuchk
質問者

お礼

お礼が遅くなりましたが、無事完成し、正常動作するようになりました。 ありがとうございました。

その他の回答 (1)

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

検索はWSHをキーワードにしましょう。 文字列の置換えは http://www.geocities.co.jp/SiliconValley/4805/vbtips/vbtips109.htm ここの関数とか参考になるかと。 ファイルを開くだったりは FileSystemObject オブジェクトのOpenTextFile メソッドです。 http://nacelle.info/wsh/11017.php 開いたファイルから読み込んだり書き込んだりは TextStream オブジェクトです。 手順としては 置換え文字列を取得して(InputBox) ファイルを開いて(OpenTextFile) 文字列を読み取り(TextStream) 文字列を置換えし(関数自作) 書き込んで(TextStream) ファイルを閉じる(OpenTextFile)

mazuchk
質問者

お礼

具体的な手順、ありがとうございます。 こう言うの書いてくれると、自作の中身と比較できて、安心出来ますね。 ありがとうございました。

関連するQ&A

  • VBSの InputBoxについて

    vbsにてInputBoxで複数の値を得るにはどうしたらいいでしょうか? ただInputBox("値入力")だけでは1つしか入力エリアがないですよね? 複数の値を欲しいときはどうしたらいいでしょうか? ちなみにvbsはあまり詳しくないです。 splitはあるようなので、例えば123,456等と入力してもらい「,」で分割してって感じになるのでしょうか?

  • VBSでInputBoxの戻り値は256文字まで??!!

    Inputboxで入力された文字列を テキストファイルにするスクリプトを組んでいるのですが、 完成間近になってうまく出来ていないことに気が付きました。 それはInputboxの戻り値がなぜか256文字?までしか取れないみたい、ということです。 たとえばこんな感じ a=inputbox("aaa") msgbox a とやると256文字以上は出ません・・。 aに直接代入した場合には大丈夫なのでInputboxの問題のようなきがします。 WEBでいろいろ検索してみたのですが、そのような制限があるという記述を見つけられませんでした・・。 何か解決方法があったら、思いつきでもいいので教えてください。 (代替手段でもいいです)

  • TeraTerm inputboxについて

    マクロでinputboxを使用していますが、 値を入力しなくても次に進んでしまうため、 空の設定が入っていまいます。 文字列を入力しないと次に進めないような構成に したいのですが方法がわかりません。 どうかよろしくお願いします。

  • ExcelのInputBoxに入力

    ExcelのVBAなどでInputBoxで入力待ちの状態に対して、例えばVBSなどの別のプログラムから 、その入力待ちの欄に値を入力することができますか? できるのであれば、どのようなコードになるのでしょうか? VBSやPowerShellなど、無料のものでお願いします。

  • バッチとVBSについて

    VBSのinputboxで入力した値をバッチの変数として渡したいのですが、双方のプログラム内容をどのように書いたら良いのやら… すみませんが、ご教示下さい。

  • テキストファイルの中身を自動で置換したい

    VBA初心者なので説明不足な部分があると思いますがよろしくお願い致します 現在テキストファイルを開いてCtrl+Hで検索する文字列を検索 置換後の文字列を入力し置換しているのですが ファイル数が多く1つ1つ開いて置換するのがとても面倒です Excelで開けば良いのでは?と前にご意見をいただいたのですが Excelで開いてそこからの操作がよくわからず…。 できればボタン一つで自動的に置き換えられるようにしたいのですが どのようにコードを書けば良いのかまったくわかりません。 ・指定フォルダー内にある(1つまたは複数の)テキストファイル内の文字列をすべてセルに書き出す ・セルから特定の文字(例→【 ,F1 】)を検索し、特定の文字(例→【 ,A2 】)に置換する ・上書きして保存 という感じにしたいのですができますでしょうか? 無理そうでしたら大丈夫です 閲覧いただきありがとうございました

  • VBSで変数の宣言はできないのですか?

    VBSで、 Dim a As String a = InputBox("MsgBoxに表示する値を入れてください。", , "test") MsgBox a と文章を作って、test.vbsで保存しました。 するとエラーになります。 Dim a As Stringの部分を消すと、問題なく作動します。 もしくは、 Dim a a = InputBox("MsgBoxに表示する値を入れてください。", , "test") MsgBox a でも正常に動きます。 VBSで変数の宣言はできないのでしょうか?

  • VC2005でInputBox関数?

    VisualC++2005を使っていますが、VisualBasicのようなInputBox関数はあるのでしょうか? プログラムが止まり、メッセージを出して、 文字列入力し、OKボタンを押すと、 入力した文字列を使ってプログラムが流れる 有れば便利だと思うのですが・・・

  • VBSで文字列の置換

    VBSまったくの初心者で、「そんなもんWebで調べろ」とお叱りを受けるのを承知でお聞きします。 C:¥置換¥あああ.txt のテキストファイル内にある文字列"ABC"を"DEF"に置換するVBSはどのように記述すればよいでしょうか?。 よろしくお願いいたします。

  • EXCEL VBAのInputBox

    VBA初心者のため、質問がうまくできないかもしれませんが よろしくお願いします。 ユーザーから文字列を入力してもらうためInputBoxを使用しました。キーボードのDを押したら、Input Boxを表示させるようにしたのですが、入力エリアにDが表示されてしまいます。また、プログラムを実行後から押されたキーの文字もすべて入力エリア表示されてしまいます。入力エリアを空白の状態で表示させたいのです。方法を教えてください。

専門家に質問してみよう