|
本帖最后由 thdyyf 于 2024-10-6 13:34 编辑
目标是把文件夹内所有txt文档里面的文本“1/”换成“1/1”,就是说在1/后面加个1,变成1/1,比如1/2变成1/12,1/11变成1/111
请老师帮忙看下,哪里出的问题,为什么不起作用。谢谢谢谢
- Sub change()
- Dim Fn$, strPath$, strFile$, strText
- Filters = "All Files(*.*),*.*,Word Documents(*.do*),*.do*," & _
- "Text Files(*.txt),*.txt,Excel Files(*.xl*), * .xl* "
- Fn = Application.GetOpenFilename(Filters, 3, "请选择文件")
- strPath = Left(Fn, InStrRev(Fn, "") - 1) '当前文件的路径
- strFile = Dir(strPath & "*.txt") ' 读取所有文本文件。
- Do While strFile <> "" ' 如果文件不为空 就开始循环。
- Open strFile For Input As #1 '打开找到的第一个txt文件
- Open strFile & "_New" For Append As #2 ' 创建这个文件名+_New 的临时文件,并打开它
- Do While Not EOF(1) '循环至文件结尾
- DoEvents '用于大量计算 鼠标卡住
- Line Input #1, strText '读取这个文件的每一行到变量strText
- If InStr(strText, "1/") > 0 Then '如果存在“1/”这个关键字
- Print #2, strText & "1" '在后面加1
- Else
- Print #2, strText '否则输出原来的内容
- End If
- Loop
- Close #2
- Close #1
- Kill strFile '删除原文件
- Name strFile & "_New" As strFile '重命名中间临时文件为原文件名
- strFile = Dir ' 继续查找下一个文件。
- Loop
- End Sub
复制代码
|
|