• 締切済み

ExcelVBA バッチファイル編集

ExcelVBAで再現したい事を検索しましたが望む回答が無かったので質問させていただきます。 実行したいことは、スタートアップにある 【MS-DOSバッチファイル】を裏側?で編集(テキスト)で開き, テキスト内の一部を完全一致で置換を行いたいと考えております。 このバッチファイルを編集して完全一致で置換するところを どのようにコードを記載すればいいか全く分りません。 また置換後は上書き保存を行い【バッチファイル】を実行したいと考えています。 一応流れとしては実行初めに【置換したい文字】【置換後の文字】は退避させております。 正しいか分りませんが、バッチファイルも以下のように指定しました。 ChDrive "C" ChDir "C:Documents and Settings" OpenFileName = Application.GetOpenFilename("batファイル,*.bat") 以上、簡単な事かもしれませんが知恵を貸していただければと思います。

みんなの回答

回答No.1

Const ForReading = 1 Const ForWriting = 2 Dim findText As String Dim repText As String findText = "aaaaa" ' 置換対象文字列 repText = "bbbbb" ' 置換後文字列 Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") Dim ts As Object Set ts = fso.OpenTextFile("E:\hoge.bat", ForReading, False) Dim txt As String txt = ts.ReadAll ts.Close txt = Replace(txt, findText, repText) Set ts = fso.OpenTextFile("E:\hoge.bat", ForWriting, False) ts.Write (txt) ts.Close とか

すると、全ての回答が全文表示されます。

関連するQ&A