2009年7月9日 星期四

讀取文字檔內容

找到了讀取文字檔內容 並且輸出到excel表格中的程式碼
Sub test1()
Open "C:\Documents and Settings\Administrator\桌面\test.txt" For Input As #1
i = 0
Do Until EOF(1)
Line Input #1, indata ' 讀入一行資料並將之指定給變數。
i = i + 1
bpos = 1 '字元指標
epos = 1
j = 0
Do
j = j + 1

epos = InStr(bpos, indata, Chr(32), vbTextCompare) '找空白字元的位址
If epos = 0 Then Exit Do
slen = epos - bpos '字串長度
Cells(i, j) = Mid(indata, bpos, slen) '從indata字串傳回特定數量字元所構成的Variant (String)。
bpos = epos + 1
Loop
Loop
Close #1
End Sub
此外,另外一種也不錯
Sub test2()
Dim Filename As String
Dim epos As Variant
ChDir "C:\Documents and Settings\Administrator\桌面"
LogFileName = Application.GetOpenFilename(FileFilter:="文字檔(*.txt),*.txt", Title:="請選取檔案")
If TypeName(LogFileName) = "Boolean" Then Exit Sub '按取消時
Open LogFileName For Input As #1
i = 0

Do Until EOF(1)
Line Input #1, indata
i = i + 1
epos = Split(indata, Chr(32), , vbTextCompare) '取得字串至空白
rCount = UBound(epos) '取得陣列維度最大值
Cells(i, 1).Resize(, rCount) = epos
Loop
Close #1
End Sub

test2載入資料時似乎全部資料都會判斷為字串
還要再查一下原因
補充:將chr(32)改為chr(9)則 資料間格無論為 tab 或空格均可讀取資料

沒有留言:

張貼留言