■ 最新の投稿

CSV×SQLテクニック:VBAでCSVファイルへ1レコードINSERTする!(ファイル書き込み)

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レコード追加されていることが確認できます。


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です