概要
指定フォルダ内のファイルを ADODB.Stream で1行ずつ読み込む処理です。ADODB.Streamでは、文字コードと改行コードを指定できるので、UTF-8/LFのファイルを読み込むのに使うことが多いです。
処理自体は後から書くことを想定したものなので、「★必要な処理を書く★」のあたりを変更して使ってください。
コード
Option Explicit Sub ReadFileWithAdoStream() Dim AdoStream As Object Dim FD As FileDialog, f As Variant Dim wkLine As String Set AdoStream = CreateObject("ADODB.Stream") Set FD = Application.FileDialog(msoFileDialogOpen) 'ファイルダイアログ With FD 'ファイルの複数選択は不可 .AllowMultiSelect = False With .Filters ''「ファイルの種類」をクリア .Clear .Add "●●●●●●", "*.csv" '★表示する名前と拡張子を変更 End With If .Show = True Then ''選択されたファイルがテキストファイルだったら If LCase(Right(.SelectedItems(1), 4)) = ".csv" Then '★拡張子チェックする場合には適宜変更 For Each f In .SelectedItems With AdoStream .Charset = "UTF-8" '★文字コード指定 .LineSeparator = 10 '★改行コード指定(-1:CRLF、10:LF、CR:13) .Open .LoadFromFile f '1行ずつ読み込み Do Until .EOS wkLine = .ReadText(-2) '★必要な処理を書く★ Debug.Print wkLine Loop .Close End With Next f End If End If End With Set AdoStream = Nothing Set f = Nothing Set FD = Nothing End Sub