【发布时间】:2013-10-22 17:05:57
【问题描述】:
我正在尝试使用 FileSystemObject 方法在文本文件中查找特定行,并在该行中替换特定字符串。我对此比较陌生,因为我当前的代码已经用excel打开了文本文件并替换了我需要替换的内容,然后保存并关闭它。这种方式不再是一种选择,因为用 excel 打开文本文件需要很长时间并且会占用文件。
这是我到目前为止所取得的进展。
-
Sub FindLines()
Const ForReading = 1
Set FSO = CreateObject("Scripting.FileSystemObject")
Set objFSO = FSO.OpenTextFile("C:\Users\Carella Home\Desktop\boomboom.txt", ForReading, False)
Do Until objFSO.AtEndOfStream = True
go = objFSO.ReadLine
If InStr(1, go, "ant", vbTextCompare) > 0 Then
bo = Replace(go, "t", "wow")
End If
Loop
objFSO.Close
Set objFSO = FSO.OpenTextFile("C:\Users\Carella Home\Desktop\boomboom.txt", 2)
End Sub
-
我能做的最好的就是打开要写入的文件,但我不知道如何找到该行并将其替换为我需要替换它的行。
如果您愿意在正确的方向上帮助/指导我,如果您需要更多信息,请告诉我。我进行了很多搜索,并看到人们提出了其他方法。我需要学习如何以这种方式编辑线条。有人可以帮帮我吗?
提前致谢!
-安东尼 C.
【问题讨论】:
-
出于好奇,为什么要使用 excel 而不是 word 或其他文本阅读器?
-
我使用的是 excel,因为这是最初教给我的。 VBA 代码位于许多用户使用的文件中,因此在有 10 个这些应用程序通过打开/关闭 excel 读取/写入同一个文件之后太多并导致太多错误。我需要比打开和关闭文件更快的东西。
标签: excel file vba text filesystemobject