#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'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします


Copyright © T'sWare All rights reserved