我想讀在VBA大文件,並且看到這個代碼在線:如何讀取一個文本文件中的倒數第二行
Dim MyChar As String, Pointer As Long, LastLine As String
Open "MyTextFile.Txt" For Binary As #1
Pointer = LOF(1) - 2
MyChar = Chr$(32)
Do
Get #1, Pointer, MyChar
If MyChar = vbCr Or MyChar = vbLf Then
Exit Do
Else: Pointer = Pointer - 1
LastLine = MyChar & LastLine
End If
Loop
MsgBox "Last Line is " & LastLine
如何改變這種代碼來獲取倒數第二行?需要一些幫助。
想到這裏:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
"MyTextFile.Txt", 1)
objTextFile.ReadAll
MsgBox objTextFile.Line
但我不能站上罰球線,2。
我更喜歡第二種方法。如何使用ADO獲取文件?可以進一步解釋? – lakesh
剛剛更新了我的答案,解釋爲什麼ADO不值得深入研究。但是,如果你仍然想要沿着這條路線,那麼簡單地從以下任何一個複製:http://stackoverflow.com/questions/16898046/copying-text-from-txt-file-in-excel-using-ado-ignores-第一行http://stackoverflow.com/questions/22947425/using-ado-to-query-text-files-terrible-performance步驟是一樣的:(1)'從SELECT * MyTextFile.txt'然後保存總是兩個字符串並循環到'recordset'的末尾。一旦你在最後你可以輸出最後兩行。 – Ralph