Excel VBAでテキストファイルの読込む順は下記になります。
ここでは「メールをすぐに送信する」Excel VBA Tipsで作成された、メール送信ログファイルを使用します。
このログファイルは日付や時間等がスペースで区切られています。
Line Inputステートメントは一行単位で読み込むので、この文字列を区切られたスペースで分解し配列に格納するVBAで掲載しています。
配列に格納したデータは順にセルに表示しています。
文字列の分解はSplit関数を使用しています。
Open PathName For Input [Lock] As #FileNumber
Line Input #FileNumber, VarName
Close [#FileNumber1] [, #FileNumber2 …]
ファイル読み込み関連の記事「INIファイルへの書き込み/読込み」を掲載しています参照してください。
Option Explicit
'文字列の分解
Private Sub ExSplit(lr As Long, str As String)
Dim buf As Variant
Dim i As Integer
Dim lcol As Long
lcol = 6
'文字列から1 次元配列を作成
buf = Split(str, " ")
For i = 0 To UBound(buf)
If buf(i) <> "" Then
Debug.Print buf(i)
'分解文字の表示
Cells(lr, lcol) = buf(i)
lcol = lcol + 1
End If
Next i
End Sub
'テキストファイルの読込み
Private Sub ExTxtRead()
Dim fn As Long
Dim tmp As String
Dim fname As String
Dim lrow As Long
'表示開始行
lrow = 3
'対象ファイル名
fname = "c:\mail_test\log.txt"
'使用可能なファイル番号を取得
fn = FreeFile
'ファイルを開く
Open fname For Input As #fn
Do Until EOF(fn)
'一行読込み
Line Input #fn, tmp
'文字列の分解
ExSplit lrow, tmp
'次の行へ
lrow = lrow + 1
Loop
Close #fn
End Sub
Private Sub CommandButton1_Click()
ExTxtRead
End Sub
「テキストファイルの読込み」ボタンをクリックすると、ファイルが読み込まれ、分解結果がF3セルから表示されます。
読み込むファイル名は「c:\mail_test\log.txt」です。
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します