サンプルマクロは、指定したフィールド数、レコード数が不定のCSVファイルを
アクティブシートのセルに出力します。
Sub Sample()
Dim myFileName As String
Dim myFIleNo As Integer
Dim myLine As String
Dim myBuf() As String
Dim myRow As Long, myClm As Integer
Dim i As Integer, j As Integer
myFileName = Application _
.GetOpenFilename("CSVファイル(*.csv),*.csv", , _
"CSVファイルの指定")
If myFileName = "False" Then Exit Sub
myFIleNo = FreeFile
Application.ScreenUpdating = False
Open myFileName For Input As #myFIleNo
While EOF(myFIleNo) = False
Line Input #myFIleNo, myLine
j = InStr(i + 1, myLine, ",")
Do Until j = 0
myClm = myClm + 1
ReDim Preserve myBuf(1 To myClm) As String
myBuf(myClm) = Mid(myLine, i + 1, j - i - 1)
i = j
j = InStr(i + 1, myLine, ",")
Loop
myClm = myClm + 1
ReDim Preserve myBuf(1 To myClm) As String
myBuf(myClm) = Mid(myLine, i + 1)
myRow = myRow + 1
Range(Cells(myRow, 1), Cells(myRow, myClm)).Value _
= myBuf
i = 0
myClm = 0
Wend
Close #myFIleNo
Application.ScreenUpdating = True
End Sub
|