Access VBAでExcelへエクスポートするには、 TransferSpreadsheetメソッドを使います。
ExcelとLotus1-2-3のバージョンによってパラメーター(acSpreadsheetType)が指定できます。
acSpreadsheetTypeExcel3 : Excel Version 3.0ファイル
acSpreadsheetTypeExcel4 : Excel Version 4.0ファイル
acSpreadsheetTypeExcel5 : Excel Version 5.0ファイル
acSpreadsheetTypeExcel7 : Excel Version 7.0ファイル
acSpreadsheetTypeExcel8 : Excel Version 8.0ファイル Excel97(既定値)
acSpreadsheetTypeExcel9 : Excel Version 9.0ファイル Excel2000~Excel2003
acSpreadsheetTypeLotusWJ2 : Lotus 1-2-3 WJ2ファイル
acSpreadsheetTypeLotusWK1 : Lotus 1-2-3 WK1ファイル
acSpreadsheetTypeLotusWK3 : Lotus 1-2-3 WK3ファイル
acSpreadsheetTypeLotusWK4 : Lotus 1-2-3 WK4ファイル
Excel97も使用されている場合は、acSpreadsheetTypeExcel8 を使用します。
構文:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetType, テーブル名, Excelファイル名
既に存在するExcelファイルを指定した場合は、新規にシートが追加されます。
実行Accessフォーム
作成するテーブル
2008年の製品マスター
2009年の製品マスター
作成されたExcelファイル
2008年度と2009年度のシートが作成されています。
■ Access VBA 実行コード例
Option Compare Database
Option Explicit
Private Sub コマンド0_Click()
'Excelファイルへエクスポート
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "M_製品マスター_2008年度", "c:\製品マスター.xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "M_製品マスター_2009年度", "c:\製品マスター.xls"
End Sub