そのままコピペで使えます。
手順
①Application.GetOpenFilenameでフォルダを開く
②FSOに指定したパスを読み込ませる
③.ReadAllをテキストファイルを読み込む
④Replace関数で置換する
⑤Split関数で書き込み用テキストを作る
⑥テキストループさせてファイルを作成する
⑦ファイルを上書き保存する
サンプルコード
Sub TXTReplace()
Dim file_path As String ‘読み込み用テキスト
file_path = Application.GetOpenFilename(“TXTファイル,*.txt”) ‘CSVファイルを選択する’
If file_path = “False” Then Exit Sub ‘キャンセルなら終了’Dim FSO As Object
Set FSO = CreateObject(“Scripting.FileSystemObject”)
With FSO.GetFile(file_path).OpenAsTextStreamDim read_text_row As String ‘読み込み用テキスト
read_text_row = .ReadAll ‘最後まで読み込み
read_text_row = Replace(read_text_row, “置換対象文字列“, “置換したい文字“)Dim replace_text_row() As String ‘ 書き込み用テキスト
replace_text_row = Split(read_text_row, vbCrLf)
.Close
End With
Set FSO = Nothing ‘ 開放Call Output_File(replace_text_row, file_path)
MsgBox “処理完了”
End Sub
Sub Output_File(rep_text() As String, ByVal file_path)
Dim i As Long
Open file_path For Output As #1For i = 1 To UBound(rep_text)
Print #1, rep_text(i)
Next i
Close #1
End Sub
コメント