フィールド名も含めて転記する
Sub 見出し行も転記() Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset Dim myFolder As String, myTxt As String, i As Integer 'テキストファイルの格納されている接続先のフォルダ 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 '見出し行を書き出し For i = 1 To myRS.Fields.Count Cells(1, i) = myRS.Fields(i - 1).Name Next 'データをセルに転記 Range("A2").CopyFromRecordset myRS myRS.Close: Set myRS = Nothing myCon.Close: Set myCon = Nothing End Sub
テキストファイルの1行目は「フィールド名(見出し)」と見なされて、「CopyFromRecordset」メソッドでは転記されない。
実行結果