Excelmacros可以在任何文本文件中查找和replace多个string

我天真的脚本,但我用下面的代码从您的网站取代文本文件中的string,它工作正常。 但是,我不想指定一个文件名,它应该准备好像(* .txt或* .xml)的任何文件。 所以,如果有人能够帮助,我很感激。

谢谢

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 

 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