

Excel VBAからCSVファイルへレコード追加(ファイル書き込み)する方法を紹介します。
<DATA.csv>


① 「Microsoft Office 16.0 Access database engine Object Library」を参照設定します。

② 参照設定したことで、DAOを利用できます。Excel ブックを用意して、標準モジュールに DAO を利用した次のコードを記載します。
SQLのInsert文を実行します。
Option Explicit
Public Sub Sample_InsertCSV_DAO_01()
' DAO データベース設定用変数
Dim db As DAO.Database
' DAO レコードセット設定用変数
Dim rs As DAO.Recordset
' 単純なループカウンタ
Dim lp As Long
' 検索結果表示用文字列
Dim str As String
' "C:\Temp\仲間.csv"をデータベースとして開く。
Set db = DBEngine.Workspaces(0).OpenDatabase( _
"C:\Temp" _
, False _
, False _
, "Text;DataBase=C:\Temp;HDR=YES" _
)
' データを挿入する。
Call db.Execute( _
" INSERT INTO [DATA#csv]" _
& " ( " _
& " ID " _
& " , Name " _
& " ) " _
& " VALUES( " _
& " 10 " _
& " , '金太郎' " _
& " ) " _
)
' データベースを閉じる。
db.Close
Set db = Nothing
' 処理の終了を通達する。
MsgBox "データを挿入しました。", vbOKOnly
End Sub
③ Sample_InsertCSV_01を実行します。


メモ帳でDATA.csvを開いてみると1レコード追加されていることが確認できます。




コメントを残す