2016-05-18 15 views
2

私はスクリプトに慣れていませんが、サイトのコードをテキストファイルの文字列に置き換えても問題ありません。しかし、私はファイル名を指定したくないので、(* .txtまたは* .xml)のようなファイルを用意しておく必要があります。だから、もし誰かがこれを助けることができたら、私は感謝しています。テキストファイル内の複数の文字列を検索して置換するExcelマクロ

おかげ

Sub ReplaceStringInFile() 

Dim sBuf As String 
Dim sTemp As String 
Dim iFileNum As Integer 
Dim sFileName As String 

' Edit as needed 
sFileName = "C:\Temp\test.txt" 

iFileNum = FreeFile 
Open sFileName For Input As iFileNum 

Do Until EOF(iFileNum) 
Line Input #iFileNum, sBuf 
sTemp = sTemp & sBuf & vbCrLf 
Loop 
Close iFileNum 

sTemp = Replace(sTemp, "THIS", "THAT") 

iFileNum = FreeFile 
Open sFileName For Output As iFileNum 
Print #iFileNum, sTemp 
Close iFileNum 

End Sub 

答えて

0
Sub ReplaceStringInFile() 

Dim sBuf As String 
Dim sTemp As String 
Dim sFileName As String 
Dim FileExt(2) As String 

ruta = Application.ActiveWorkbook.Path 

ChDrive ruta 
ChDir ruta 

FileExt(1) = "txt" 
FileExt(2) = "xml" 

For i = 1 To 2 

    sFileName = Dir("*." & FileExt(i)) 

    Do 

    If sFileName = "" Then Exit Do 

    sTemp = "" 
    Open sFileName For Input As #1 
     Do Until EOF(1) 
     Line Input #1, sBuf 
     sTemp = sTemp & sBuf & vbCrLf 
     Loop 
    Close #1 

    sTemp = Replace(sTemp, "THIS", "THAT") 

    Open sFileName For Output As #1 
     Print #1, sTemp 
    Close #1 

    sFileName = Dir() 

    Loop 

Next i 

End Sub 
+0

は、各ループにSTEMP変数をクリアするには忘れてしまった:P – csanjose

+0

は優秀な、それがシームレスに動作します。あなたの瞬時の対応に感謝します。 – Siraj

関連する問題