Access VBA:Excelファイルからインポート

スポンサーリンク


構文:
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番目のシートがインポートされます。
テーブルが存在しない場合は新規に作成されます。
既にテーブルが存在する場合は、フィールドの型と項目がインポートデータと合っていないとエラーになります。



BackHome BackTipsへ Backメニューへ

実行Accessフォーム
インポート実行フォーム

インポートするExcelシート
Excelシート

テーブルが追加されました
データベースウィンドウ

インポートされたテーブル
インポートテーブル


■ Access VBA 実行コード例

Option Compare Database
Option Explicit

Private Sub コマンド0_Click()
    'Excelファイルからインポート
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "M_Excel製品マスター", "c:\製品マスター.xls", True

End Sub



BackHome BackTipsへ Backメニューへ

Copyright(C) FeedSoft