Sub 批量修改文本内容()
Dim Fn$, MyPath$, MyFile$, NewName$, myText
Fn = Application.GetOpenFilename("请随便选择一个文件 (*.*), *.*", , "请随便选择一个文件,让系统确定路径:")
MyPath = Left(Fn, InStrRev(Fn, "\"))
MyFile = Dir(MyPath & "*.txt") ' 可以指明文件类型,也可以不指明。
Do While MyFile <> "" ' 开始循环。
Open MyFile For Input As #1 '打开第一个txt文件
Open MyFile & "temp" For Append As #2 '创建这个文件名+temp的临时文件,并打开
Do While Not EOF(1) '循环至文件结尾
DoEvents '用于中断,避免鼠标卡住
Line Input #1, myText '读取这个文件的每一行
If InStr(myText, "元宝") > 0 Then '如果存在“元宝”这个关键字
Print #2, ";" & myText '在前面加分号
Else
Print #2, myText '否则输出原来的内容
End If
Loop
Close #2
Close #1
Kill MyFile '删除原文件
Name MyFile & "temp" As MyFile '重命名临时文件为原文件
MyFile = Dir ' 查找下一个文件。
Loop
End Sub |