|
こんにちは。かみちゃん です。
> テキストファイルを読み込み、FLD1:-FLD5:の:より右の値を特定のシートのA列(AAAA)からE列(12:15:00)に読み込み(1行目)、次にFLD1:がくると同様に2行目に読み込む
FLD1:〜FLD5:までが必ず順番に抜け番なくあるものとします。
また、テキストファイルとマクロブックが同じフォルダにあるものとします。
このような前提ですと、以下のようなコードでできます。
Sub Sample()
Dim strFileName As String
Dim FSO, buf As String
Dim lngRow As Long
Dim vntData(4) As Variant
lngRow = 1
'入力ファイル名
strFileName = ThisWorkbook.Path & "\Test.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
With FSO.GetFile(strFileName).OpenAsTextStream
Do Until .AtEndOfLine
buf = .ReadLine
Select Case Left(buf, 6)
Case "FLD1: "
vntData(0) = Mid(buf, 7)
Case "FLD2: "
vntData(1) = Mid(buf, 7)
Case "FLD3: "
vntData(2) = Mid(buf, 7)
Case "FLD4: "
vntData(3) = Mid(buf, 7)
Case "FLD5: "
vntData(4) = Mid(buf, 7)
Cells(lngRow, 1).Resize(, 5).Value = vntData
lngRow = lngRow + 1
Erase vntData
End Select
Loop
.Close
End With
MsgBox "終了"
End Sub
|
|