FileSystemObject
現在、(を使用して)テキストファイルを読み取り、特定の文字列を検索するようにVBAを設定しています。これはすべてうまくいきます。しかし、私が達成しようとしているのは、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
これは、との間に何行あるかに関係なく、「Foundit」を返しますElectricity
。これは理にかなっています。しかし、最初の拘束が前の行で見つかった後でのみ、2番目の拘束を強制するにはどうすればよいですか?
sLine +1
/のようなものはありますか.Readline + 1
(次に、最初のステートメント内に2番目のifステートメントを適用しますか?)。よろしくお願いします、R