アプリ版:「スタンプのみでお礼する」機能のリリースについて

ExcelVBAで再現したい事を検索しましたが望む回答が無かったので質問させていただきます。

実行したいことは、スタートアップにある
【MS-DOSバッチファイル】を裏側?で編集(テキスト)で開き,
テキスト内の一部を完全一致で置換を行いたいと考えております。
このバッチファイルを編集して完全一致で置換するところを
どのようにコードを記載すればいいか全く分りません。
また置換後は上書き保存を行い【バッチファイル】を実行したいと考えています。

一応流れとしては実行初めに【置換したい文字】【置換後の文字】は退避させております。
正しいか分りませんが、バッチファイルも以下のように指定しました。
ChDrive "C"
ChDir "C:Documents and Settings"
OpenFileName = Application.GetOpenFilename("batファイル,*.bat")

以上、簡単な事かもしれませんが知恵を貸していただければと思います。

A 回答 (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

とか
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!