HOME > 即効テクニック > AccessVBA > ファイル操作・他アプリケーションとの連携 > Excelファイルのデータをインポートする

即効テクニック

ファイル操作・他アプリケーションとの連携

Excelファイルのデータをインポートする

(Access 2000/2002/2003)
● 概要 ●
構文  expression.TransferSpreadsheet(TransferType, SpreadsheetType, 
      TableName, FileName, HasFieldNames, Range, UseOA)

設定項目        内容
expression	DoCmdオブジェクト[省略不可]
TransferType	変換の種類をAcDataTransferTypeクラスの定数で指定[省略可能]
SpreadsheetType	ファイルの種類をAcSpreadSheetTypeクラスの定数で指定
		[省略可能]
TableName	Accessのテーブル/クエリの名前を文字列式で指定[省略可能]
FileName	Excelブックのパス名を文字列式で指定[省略可能]
HasFieldNames	ワークシートの1行目をフィールド名とするか否かを指定
		[省略可能]
Range		ワークシートのセル範囲を文字列式で指定[省略可能]
UseOA		バリアント型の値を指定[省略可能]


ExcelやLotusのワークシートのデータをAccessに取り込みます。
引数は省略するか、acImportを指定します。

・引数に指定する定数(AcDataTransferTypeクラス)

定数		説明
acExport	エクスポート
acImport	インポート(既定値)
acLink		リンク

引数に指定する定数は次のとおりです。引数を省略すると、acSpreadsheetTypeExcel8を指定したこととなります。

・引数に指定する定数(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ファイル(既定値)
acSpreadsheetTypeExcel9		Excel Version 9.0ファイル
acSpreadsheetTypeLotusWJ2	Lotus 1-2-3 WJ2ファイル(日本語版のみ)
acSpreadsheetTypeLotusWK1	Lotus 1-2-3 WK1ファイル
acSpreadsheetTypeLotusWK3	Lotus 1-2-3 WK3ファイル
acSpreadsheetTypeLotusWK4	Lotus 1-2-3 WK4ファイル


引数には、データ出力先となるAccessのオブジェクト名を指定します。
引数には、Excelブックのパス名を指定します。
ワークシートの1行目をフィールド名として取り込むときは、引数にTrueを指定します。
引数を省略した場合、既定値Falseが指定されたこととなり、すべての行をデータとして取り込みます。
引数には、データを取り込みたいセルの範囲または範囲の名前を指定します。
引数を省略すると、ワークシートの使用範囲のデータが取り込まれます。



● サンプル ●
'TransferSpreadsheetExportSampleを実行してから実行
Sub TransferSpreadsheetImportSample()
    'エラーの場合、myErr: へ
    On Error GoTo myErr
    '「C:\Excel出力顧客テーブル.xls」のデータを
    '[Excel取込顧客テーブル]を作成して取り込む
    DoCmd.TransferSpreadsheet acImport _
        , , "Excel取込顧客テーブル", "C:\Excel出力顧客テーブル.xls"
    MsgBox "「Excel出力顧客テーブル.xls」を" _
        & "[Excel取込顧客テーブル]として取り込みました"
    'プロシージャを終了
    Exit Sub
myErr:
    MsgBox "サンプルTransferSpreadsheetImportSampleの実行前に、" _
        & "TransferSpreadsheetExportSampleを実行し、" _
        & "「C:\Excel出力顧客テーブル.xls」を作成して下さい。"
End Sub