這篇把一些收集純文字TXT資料的方法做一些整理。
方案一:
如果你的檔案內容資料堆壘是由上往下,長得像這樣:
fn = FreeFile '設定為FreeFile 函數
Dim InputStr As String
Open "F:\TEST.txt" For Input As #fn
'開啟F:\TEST.txt檔案。雙引號內可以自己改路徑跟檔名歐
While Not EOF(fn) '判斷檔案是否到最後一行
Line Input #fn, InputStr '從檔案讀出一列,
Debug.Print InputStr '在即時運算視窗印出來
Wend
Close #fn '關閉檔案
方案二:
如果你的檔案內容資料堆壘是由左往右,且是用tab做區隔的:
fn = FreeFile '設定為FreeFile 函數
Open "F:\TEST.txt" For Input As #fn
'開啟F:\TEST.txt檔案。,雙引號內可以自己改路徑跟檔名歐
Line Input #fn, InputStr '從檔案讀出一列,
If Len(InputStr) > 0 Then '略過無字串的空行
arrStr = Split(InputStr, vbTab)
' 把讀入的文字列依tab間隔分成數個字串, 置於 arrStr 陣列裡
For j = LBound(arrStr) To UBound(arrStr)
'用lbound與ubound控制迴圈起始與結束
Debug.Print arrStr(j)
'把字串一個一個在即時運算視窗,印出來。
Next j
End If
Close #fn
方案三:
如果你的檔案內容資料堆壘是由左往右,且是用逗號(,)做區隔的(csv檔案):
fn = FreeFile '設定為FreeFile 函數
Open "F:\TEST.txt" For Input As #fn
'開啟F:\TEST.txt檔案。,雙引號內可以自己改路徑跟檔名歐
Line Input #fn, InputStr '從檔案讀出一列,
If Len(InputStr) > 0 Then '略過無字串的空行
arrStr = Split(InputStr, ",")
' 把讀入的文字列依逗號分成數個字串, 置於 arrStr 陣列裡 '
For j = LBound(arrStr) To UBound(arrStr)
'用lbound與ubound控制迴圈起始與結束
Debug.Print arrStr(j)
'把字串一個一個在即時運算視窗,印出來。
Next j
End If
Close #fn
方案四:
如果檔案不止一行,且單行多筆資料,
則加上 While Not EOF(fn)~Wend迴圈控制即可,如下:
fn = FreeFile '設定為FreeFile 函數
Open "F:\TEST.txt" For Input As #fn '開啟 tt.txt 檔
While Not EOF(fn) '迴圈判斷是否到最後一行
Line Input #fn, InputStr '從檔案讀出一列,
If Len(InputStr) > 0 Then '略過無字串的空行
arrStr = Split(InputStr, ",")
' 把讀入的文字列依逗號分成數個字串, 置於 arrStr 陣列裡
For j = LBound(arrStr) To UBound(arrStr)
'用lbound與ubound控制迴圈起始與結束
Debug.Print arrStr(j)
'把字串一個一個在即時運算視窗,印出來。
Next j
End If
Wend
ㄖ
Close #fn
Excel vba 文書自動化(SPC 管制圖自動化) 技術實作篇 (讀純文字檔,四個操作方式),不會有EXCEL版的操作歐,EXCEL版操作 可參考
沒有留言:
張貼留言