ADODB.Streamでファイル読み込み@Excel マクロ・VBA

ADODB.Streamを利用して、ファイル読み込みを行います。

Microsoft ActiveX Data Objectを参照設定します。
ADODB.Streamを生成します。

TypeとCharsetを設定し、ストリームをオープンします。
LoadFromFileでファイルを読み込みます。

Do Loopでファイルの終わりまでループ処理を行います。
st.ReadText(adReadLine)で1行読み込みを行います。

以下では、UTF-8のファイルを読み込んで、
セルに1行ずつ値を表示しています。



Sub ReadFile()

Dim st As ADODB.Stream
Dim rowNo As Integer

On Error GoTo Err

'ADODB.Stream生成
Set st = New ADODB.Stream

'Textモード
st.Type = adTypeText

'文字コード(Shift_JIS, Unicodeなど)
st.Charset = "UTF-8"

'Streamのオープン
st.Open

'ファイル読み込み
st.LoadFromFile ("C:\test2.csv")

rowNo = 1
'ファイルの終りまでループ
Do While Not (st.EOS)
    '1行読み込み(readText(adReadAll):すべて読み込み)
    Worksheets("Sheet1").Cells(rowNo, 1).Value = st.ReadText(adReadLine)
    rowNo = rowNo + 1
Loop

'クローズ
st.Close
Set st = Nothing

Exit Sub

Err:
Set st = Nothing

'エラー内容
MsgBox (Err.Description)

End Sub




Copyright (C) Excelマクロ・VBAのお勉強. All Rights Reserved.