Excelへテキストファイルを読み込む

Excelへテキストファイルを読み込む

Sub テキストファイルを読み込む()
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset
Dim myFolder As String, myTxt As String

'テキストファイルの格納されている接続先のフォルダ
myFolder = ThisWorkbook.Path & "\txt"
'読み込みたいテキストファイル
myTxt = "data.csv"

'接続
With myCon
  .Provider = "Microsoft.Jet.OLEDB.4.0"
  .Properties("Extended Properties") = "TEXT"
  .Open myFolder
End With

'Recordsetオブジェクトにテキストファイルの内容を格納
'引数「Options」に「adCmdTableDirect」をしていする
'これを指定しないと、なぜかうまく動作しない場合が多い
myRS.Open myTxt, myCon, Options:=adCmdTableDirect

'セルに転記
Range("A1").CopyFromRecordset myRS

myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing

End Sub

Recordsetオブジェクトでテキストファイルを読み込む
Recordsetオブジェクト.Open テキストファイル名, Connectionオブジェクト

Accessデータベース、Excelファイル、テキストファイルの読み込みに関して
Access Excel テキストファイル
Connectionオブジェクトのデータソース mdbファイル xlsファイル ファイルの存在するフォルダ
Recordsetオブジェクト.Open ○○○ テーブル
クエリ
シート名
名前付き範囲
テキストファイル

元になるCSVファイル

実行結果