AccessにCSVを書き出す為のプログラム「CSV書き出し」を書き、それをExcel側のプログラムで実行する例

Access側にCSVを書き出すプログラム書く
Const strFileName As String = "体重管理"
Sub CSV書き出し()
DoCmd.TransferText TransferType:=acExportDelim, TableName:="tblデータ", _
FileName:=Application.CurrentProject.Path & "\" & strFileName & ".csv"
End Sub
カレントデータベースと同じフォルダに書き出ししたい場合は、CurrentProject.Path を指定しないと、
「ツール」-「オプション」-「全般」の『既定のデータベースフォルダ』に書き出される
構文
式。 TransferText (TransferType, SpecificationName, TableName, FileName, HasFieldNames, HTMLTableName, CodePage)
第3引数 TableName テキスト データのインポート、エクスポート、リンクを行う Microsoft Access テーブルの名前、または結果をテキスト ファイルにエクスポートする Microsoft Access クエリの名前を、文字列式で指定します。
第5引数 HasFieldNames は、テキスト ファイルの 1 行目をフィールド名として使用する場合は、True (–1) を使います。テキスト ファイルの 1 行目をデータとして処理する場合は、False (0) を使います。この引数を指定しないと、False (既定値) が使われます。
Excel側で、Accessに書いたCSV書き出しプログラムを実行する
Const DB_Name As String = "\MY体重管理.accdb"
Sub CSV()
Dim strPath As String
Dim objACS As Object
strPath = ThisWorkbook.Path & DB_Name
Set objACS = CreateObject("Access.Application")
With objACS
.Visible = False 'アプリケーションを非表示
.OpenCurrentDatabase (strPath)
.Run ("CSV書き出し") 'Accessに書いたサブルーチン
.CloseCurrentDatabase
.Quit
End With
Set objACS = Nothing
MsgBox "CSVファイルの書き出しが完了しました", vbInformation