Microsoft Access VBA - Accessのデータオブジェクトを外部に出力する方法

◆OutputToメソッド
 OutputToメソッドは、Accessのデータベースオブジェクト(データシート、フォーム、レポート、モジュール、データアクセスページ)のデータを、Excelやテキスト、HTMLなどの他のファイル形式のデータに出力するメソッドです。Accessデータベースのデータを他のアプリケーションで利用する場合に使用します。なお、出力したデータの種類によっては対応するアプリケーションが必要になります。

◆データベースオブジェクトを他のファイル形式で出力する書式

Object.OutputTo ObjectType,ObjectName,OutputFormat,
outputFile,AutoStart,
TemplateFile,Encoding

[ObjectName]という名前の[ObjectType]を[OutputFile]という名前の[OutputFormat]形式のファイルに出力する。

Docmd.OutputTo acOutputTable,"顧客マスタ",acFormatHTML,
"顧客マスタ.html",True

「顧客マスタ」という名前のテーブルを「顧客マスタ.html」というHTML形式のファイルに出力して、出力後に自動で開くようにする。

◆OutputToメソッドの設定項目
Object
[object]には、Docmdオブジェクトを指定します。DoCmdオブジェクトは、Accessオブジェクトの1つを返します。

引数

ObjectType 出力するデータを含むオブジェクトの種類を組み込み定数で指定します(下表参照)。
ObjectName 出力するデータを含むオブジェクトの名前を指定します(省略可)。
OutputFormat データの出力形式を組み込み定数で指定します(省略可)。省略した場合、出力形式を確認するダイアログボックスが表示されます。
OutputFile データの出力先ファイル名をフルパスで指定します。拡張子は、[ObjectType]で指定した出力形式の標準の拡張子をつけます。Excelの場合は.xls、テキスト形式の場合は.txtのように指定します(省略可)。省略した場合、出力ファイル名を確認するダイアログボックスが表示されます。
AutoStart OutputToメソッドの実行後、[ObjectType]で指定したファイルの種類に対応するソフトウェアを起動して、[OutputFile]で指定して出力したファイルを開くかどうかを指定します(省略可)。省略した場合、[False]または「0」を設定したとみなされます。
TemplateFile 拡張子が.html、htx、または.aspのファイルで、テンプレート(HTMLタブを含むファイル)として使用するファイルのパス名およびファイル名を指定します(省略可)。
Encoding テキストまたはHTMLデータを出力する際に使用する文字エンコード形式の種類をバリアント型で指定します(省略可)。省略した場合、テキストの場合はWindows標準のエンコード形式が使用され、HTMLの場合は既定のシステムエンコード形式が使用されます。
[ObjectType]の設定値 説明
acOutputDataAccessPage データアクセスページを出力します。
acOutputForm フォームオブジェクトを出力します。
acOutputModule モジュールブジェクトを出力します。
acOutputQuery クエリブジェクトを出力します。
acoutputReport レポートブジェクトを出力します。
acOutputSeverView サーバビューブジェクトを出力します。
acOutputStoredProcedure ストアドプロシージャブジェクトを出力します。
acOutputTabel テーブルブジェクトを出力します(既定値)。
[OutputFormat]の設定値 説明
acFormatASP Microsoft Active Server Pagesの形式に出力します。この組み込み定数は、テーブル、クエリ、およびフォームを出力するときにのみ設定できます。
acFormatDAP データアクセスページの形式に出力します。
acFormatHTML HTML形式に出力します。データアクセスページはHTML形式でのみ出力可能です。
acFormatIIS Microsoft Internet Information Server形式に出力します。この組み込み定数は、テーブル、クエリ、およびフォームを出力するときにのみ設定できます。
acFormatRTF リッチテキスト形式に出力します。
acFormatSNP スナップショット形式に出力します。
acFormatTXT テキスト形式に出力します。
acFormatXLS Microsoft Excel形式に出力します。
[AutoStart]の設定値 説明
Trueまたは-1 出力したファイルを対応するアプリケーションですぐに起動します。
falseまたは0 アプリケーションで起動しません(既定値)。

◆Sample

次の例は、オプショングループ「出力形式区分」で1を選択すると、[Customers]テーブルをリッチテキスト形式(2を選択するとHTML形式)で出力し、対応するアプリケーションですぐに表示します。

form Design

Private Sub cmd外部へ出力_Click()
    If Me.出力形式区分 = 1 Then
        DoCmd.OutputTo acOutputTable, "Customers", _
        acFormatRTF, "Customers.rtf", True
    Else
        DoCmd.OutputTo acOutputTabe, "Customers", _
        acFormatHTML, "Customers.html", True
    End If
        
End Sub

▼ページトップに戻る