我目前将我的 VBA 设置为读取文本文件(使用FileSystemObject
)并查找某些字符串。这一切都很好。但是我想要实现的是让 VBA 通读文本,当它找到某个字符串 (A) 并在它下面的下一行中找到另一个字符串 (B) 时,它会做一些事情。但前提是 B 在 A 之后。
例子:
Find in the following text "Bob's House" and in the next line after that "Electricity.
Text 1: - Return False
blablabla *Bob's House* blablabla
blablabla blablabla blablabla
blabla *Electiricity* blablabla
Text 1: - Return True
blablabla *Bob's House* blablabla
blabla *Electiricity* blablabla
这是我到目前为止所拥有的:
Set fsFile = fs.OpenTextFile(FilePath, 1, False)
sLine = fsFile.ReadLine
If VBA.InStr(1, sLine, "Bobs House") > 0 Then
checkpointHeading = True
End If
If VBA.InStr(1, sLine, "Electricity") > 0 Then
checkpointSubheading = True
End If
If checkpointHeading = True And checkpointSubheading = True Then
MsgBox "Found it!"
End If
Bobs House
无论和之间有多少行,这都会返回“找到它” Electricity
。这是有道理的。但是,只有在找到第一个约束之后,我如何强制第二个约束呢?
是否有类似sLine +1
/的东西.Readline + 1
(然后在第一个 if 语句中应用第二个?)。在此先感谢,