VBAでレポートを印刷する・印刷プレビューを表示する
VBAでレポートを開くときは、DoCmd.OpenReportを使います。開くときには、ビュー(印刷、デザインビュー、印刷プレビュー、データシートビュー、ピボットテーブルビュー、ピボットチャートビュー)を指定することもできます。
DoCmd.OpenReportの書式
DoCmd.OpenReport ReportName, View, FilterName, WhereCondition, WindowMode, OpenArgs
■ReportName/レポート名(必須)
開くレポート名を指定します

■View/ビュー(省略可能)
ビューを@の定数で指定します。省略時は、プリンタへ印刷されます。

■FilterName/フィルタ名(省略可能)
レコードソースに使うクエリを指定します。

■WhereCondition/レコード抽出条件(省略可能)
テーブルやクエリと連結しているときのレコード抽出条件を指定します。

■WindowMode/ウィンドウの状態(省略可能)
ウィンドウモードをAの定数で指定します。

■OpenArgs/レポートへの引き渡しデータ(省略可能)
レポートのOpenArgsプロパティへ設定する内容を指定します。

 @View(第2引数)に指定する定数
acViewDesign デザインビューで開きます。
acViewNormal プリンタへ印刷します。
acViewPivotChart ピボットチャートビューで開きます。
acViewPivotTable ピボットテーブルビューで開きます。
acViewPreview 印刷プレビューで開きます。

 AWindowMode(第5引数)に指定する定数
acDialog レポートの「作業ウィンドウ固定(Modal)」プロパティと「ポップアップ(PopUp)」プロパティが「はい(Yes)」の状態で開きます。
acIcon レポートが最小化され、Windows タスクバーに収まります。
acHidden 非表示になります。
acWindowNormal レポートのプロパティで設定されているモードで開きます(規定値)。
DoCmd.OpenReportの使用例
次の例では、DoCmd.OpenReportを使ってレポート「レポート1」を開いています。第2引数を省略しているので、レポートビューで開きます。

Sub s_DoCmd_OpenReport_Sample()

    'レポート1をレポートビューで開く
    DoCmd.OpenReport "レポート1"

End Sub

また、次の例では、DoCmd.OpenReportを使ってレポート「レポート1」を「デザインビュー」で開いています。第2引数には「acViewDesign」を指定しています。

Sub s_DoCmd_OpenReport_Sample()

    'レポート1をデザインビューで開く
    DoCmd.OpenReport "レポート1", acViewDesign

End Sub

さらに、次の例では、DoCmd.OpenReportを使ってレポート「レポート1」を「印刷プレビュー」で開いています。第2引数には「acViewPreview」を指定しています。
ちなみに、DoCmd.SetWarningsFalseにして、用紙をはみ出したときの警告メッセージを表示しないようにしています。

Sub s_DoCmd_OpenReport_Sample()

    '警告ダイアログをOFF
    DoCmd.SetWarnings False

    'レポート1を印刷プレビューで開く
    DoCmd.OpenReport "レポート1", acViewPreview

    '警告ダイアログをON(戻す)
    DoCmd.SetWarnings True

End Sub
Copyright(C) 1999-2006 結城圭介。 All rights reserved