#201 [ファイル]-[印刷]メニューをVBAから実行するには? VBA

VBAを使ってレポートを印刷する場合、OpenReportメソッドを使った次のようなコードを使うことが多いと思います。
DoCmd.OpenReport "rpt売上一覧表"
このコードを実行すると、直ちにレポートがプリンタに出力され、印刷が実行されます。


印刷ダイアログしかし、マニュアル操作において、レポートを選んで[ファイル]-[印刷]メニューを実行した場合には若干これとは異なる動作をします。それは、直ちに印刷が実行されるのではなく、まず印刷範囲や部数を指定できる「印刷ダイアログ」が表示される点です。

VBAを使って、この印刷ダイアログをまず表示させてから印刷を実行させるには、なにも小難しいWindows APIを使う必要はありません。次のようなコードを実行するだけです。
'レポートをデータベースウィンドウから選択します
DoCmd.SelectObject acReport, "rpt売上一覧表", True
'[印刷]メニューを実行します
DoCmd.RunCommand acCmdPrint

※ただしこの方法の問題点は、データベースウィンドウが非表示に設定されている場合、それが表示状態になってしまうという点です。これをどうしても避けたい場合には、次のように、いったんレポートをプレビューさせてから印刷ダイアログを表示させるという逃げ道を使うとよいでしょう。
DoCmd.OpenReport "rpt売上一覧表", acViewPreview
DoCmd.RunCommand acCmdPrint
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved