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
バリアント型の値を指定[省略可能]
Accessのテーブルやクエリのデータを、ExcelやLotusのワークシートに出力します。
引数にacExportを指定します。

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

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

引数には、データを出力するExcelブックの種類を指定します。
指定する定数は次の表のとおりです。引数を省略すると、
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ファイル

引数に、出力元のオブジェクト名を指定します。引数には、出力先のパス名を指定します。
ファイル名のみ指定した場合、Excelファイルは、メニューの[ツール]→[オプション]→[全般]の[既定のデータベースフォルダに指定されているフォルダに作成されます。
データをExcelに出力する場合は、引数の値にかかわらず、Accessのフィールド名がExcelワークシートの1行目となります。データの範囲を表す引数は必ず省略します。


● サンプル ●
Sub TransferSpreadsheetExportSample()
    'エラーの場合、myErr: へ
    On Error GoTo myErr
    '[顧客テーブル]のデータを、「C:\Excel出力顧客テーブル.xls」に出力
    DoCmd.TransferSpreadsheet acExport _
        , , "顧客テーブル", "C:\Excel出力顧客テーブル.xls"
    MsgBox "[顧客テーブル]を「Excel出力顧客テーブル.xls」に書き出しました"
    'プロシージャを終了
    Exit Sub
myErr:
    'エラーメッセージを出す
    MsgBox Err.Description
End Sub