我正在尝试将保存为.txt文件的电子邮件中的复制信息提供给Excel工作表。 我遇到的问题是当我使用带有行输入功能的Do循环时,我无法从当前行上没有的文本行中获取信息。我还希望代码复制包含deliminator的行。
这是我正在使用的代码:
XMLHttpRequest
答案 0 :(得分:2)
我最喜欢的方法也比循环遍历文件内容更快的方法是一次性将文件中的整个文本读入数组,然后使用数组。这也可以让您更好地控制从您想要的2行中检索文本。
这是你在尝试什么? (的未测试强>)
Dim MyData As String, strData() As String
Dim i As Long
intFreefile = FreeFile
'~~> Open file and read it on one go
Open ThisWorkbook.Path & "\temp567.txt" For Binary As #intFreefile
MyData = Space$(LOF(1))
Get #intFreefile, , MyData
Close #intFreefile '<~~ Close the text file after reading from it
'~~> This array has the entire contents from the text file
strData() = Split(MyData, vbCrLf)
For i = LBound(strData) To UBound(strData)
'~~> Last character in line = deliminator
If Right(strData(i), 1) = strDelimiter Then
Debug.Print strData(i)
Debug.Print strData(i + 1)
Debug.Print strData(i + 2)
'~~> Else if the deliminator is somewhere else
ElseIf InStr(1, strData(i), strDelimiter) Then
Debug.Print strData(i)
End If
Next i