【发布时间】:2013-08-14 13:01:33
【问题描述】:
我正在循环输入文件并使用 readline 命令读取每一行,检查它的各种标准,然后我想根据结果进行更改。这是我正在尝试做的一个非常简单的版本:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileLoc, 1)
Do While Not objFile.AtEndOfStream
strLineRead = objFile.readline
if strLineRead Like "*text to change*" Then
'Some code to change the line
end if
Loop
我一直在做的是将整个文件保存到一个名为 strFileText 的字符串中,然后使用 Replace 函数将该字符串中的 strLineRead 替换为更改后的版本。像这样的:
strFileText = Replace(strFileText, strLineRead, strNewLine)
然后将整个字符串写入一个新的文本文件。
问题是,有时我可能在一行中的整个文本都是“NC”,然后在整个文件上查找/替换“NC”的变化不仅仅是一行。
那么 FileSystemObject 中是否有一个命令可以在某一行上直接更改文件?我在想类似“writeline”命令的东西。
【问题讨论】:
标签: vb.net ms-access vba filesystemobject