フィールド名も含めて転記する

スポンサーリンク
スポンサーリンク

フィールド名も含めて転記する

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」メソッドでは転記されない。

実行結果

スポンサーリンク
シェアする
スポンサーリンク
あんとんさんち 覚え書き