如果檔案不大, 可以用陣列的方法, 以下是讀最後第3行
的範例, 自己改一下應該很好用囉
Open "D:\TESTFILE.txt" For Input As #1
fileinfo = Input(LOF(1), #1)
Close #1
myArray = Split(fileinfo, vbCrLf)
theCount = UBound(myArray) + 1
N = 3
If theCount - N > 0 Then
Cells(1, 1).Value = myArray(theCount - N)
End If
※ 引述《xg (smile)》之銘言:
: 透過以下的code我可以讀到TXT檔最後一行
: 那如果要改成讀最後第N行,怎麼改比較好呢?
: 底子不好,越改越錯,上來請教一下各位,拜託了><
: 謝謝!!
: --------------------------------------------------------------------------
: Dim MaxSize, NextChar, MyChar
: Dim Str
: Open "D:\TESTFILE.txt" For Input As #1
: NextChar = LOF(1) '取得檔案長度
: Seek #1, NextChar '設定讀取位置在檔案尾端
: MyChar = Input(1, #1) '讀取檔未最後一個字
:
: While MyChar = Chr$(10) Or MyChar = Chr$(13) '從末端開始往前讀取文字,忽略
: 文字檔的跳行字元 CR & LF
: Seek #1, NextChar
: MyChar = Input(1, #1)
: NextChar = NextChar - 1
: Wend
:
: Str = MyChar
: While MyChar <> Chr$(10) And MyChar <> Chr$(13) '依次讀出最後一個非空行文
: 字的字元並組合還原該文字
: Seek #1, NextChar
: MyChar = Input(1, #1)
: Str = MyChar + Str
: NextChar = NextChar - 1
: Wend
: Close #1
: Cells(1, 1) = Str
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.146.144