構文:
DoCmd.TransferSpreadsheet acImport, acSpreadsheetType, テーブル名, Excelファイル名,
TrueかFalse
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 を使用します。
TrueかFalseの引数をTrueにすると先頭行がフィールド名になります。
1番目のシートがインポートされます。
テーブルが存在しない場合は新規に作成されます。
既にテーブルが存在する場合は、フィールドの型と項目がインポートデータと合っていないとエラーになります。
実行Accessフォーム
インポートするExcelシート
テーブルが追加されました
インポートされたテーブル
■ Access VBA 実行コード例
Option Compare Database
Option Explicit
Private Sub コマンド0_Click()
'Excelファイルからインポート
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "M_Excel製品マスター", "c:\製品マスター.xls", True
End Sub