テキスト ファイルから特定のデータを選択する必要があります。しかし、このテキスト ファイルには、1 行に 1024 文字を超えるデータが含まれています。
例: stringtext1
との間のデータが必要text 2
です。私のコードは、巨大な行のtext1
&の間の最初のデータのみを取得text2
し、次の行に移動します。しかし、前の巨大な行には、text1 と text2 の複数のインスタンスがあります。それらのデータを取得できません。助けてください。私のコードの下を見つけてください:
Sub Macro1()
Dim dat As String
Dim fn As String
fn = "C:\Users\SAMUEL\Desktop\123\Source1.TXT" '<---- change here
With CreateObject("Scripting.FileSystemObject").OpenTextFile(fn)
Do While Not .AtEndOfStream
dat = .Readline
If InStr(1, dat, "text1", vbTextCompare) > 0 Then
x = InStr(dat, "text1") + 8
y = InStr(dat, "text2")
Z = y - x
MsgBox Mid(dat, x, Z)
End If
Loop
.Close
End With
End Sub
Text1 と Text2 の間のデータを特定のセルに選択したいと考えています。データは、「これは Text1 の素晴らしい Text2 Web サイトです。私はこの Text1 Web サイト Text2 が好きです」のように見えます。これは私がウェブサイトからコピーした膨大なデータです。テキストファイルに保存すると、この Web データの 1 行が 4000 文字を超えます。したがって、テキスト ファイルの行は 1024 文字で終了し、データは次の行に移動して 3 行になります。しかし、私のマクロは文字列 "dat" の最初の 1024 を取り、Web データの 2 行目に移動します。つまり、1024 文字から 4000 文字までのすべてのデータをスキップします。Text1 と Text2 の間に存在する必要なデータは、4000 文字全体のどこにでもある可能性がありますが、同じパターンになります。Text1...Text1...Text2..のようになることはありません。