MS Access Tips/Sample and VBA and Blog customize etc...

プレビューを表示せずに印刷ダイアログで設定して印刷する

レポートで印刷するときに、印刷するプリンターや印刷ページ、部数などを印刷ダイアログで設定してから印刷したいのですが、プレビューを表示せずに、印刷ダイアログのみ表示して印刷することは可能でしょうか。

上記のような質問がありました。プレビューしなくても、DoCmd.SelectObject でレポートをデータベースウィンドウで選択してから、DoCmd.RunCommand acCmdPrint すれば印刷ダイアログで設定ができます。

しかし、これだとデータベースウィンドウが表示されてしまいます。データベースウィンドウを非表示にして運用する場合はこれではまずいですね。そこで、データベースウィンドウも非表示のまま、プレビューも表示せずに印刷設定をして直接レポートを印刷する方法を紹介します。

RptPrintNoPreView.png

難易度:

まずは、DoCmd.SelectObject で選択して印刷設定する場合のコード

第3引数を True にすることでデータベースウィンドウから選択できるようにします。また、印刷ダイアログ で キャンセル をクリックして印刷を中止するとエラーが出ますので On Error Resume Next でエラーメッセージを抑制します。

cmd印刷 をクリックするとデータベースウィンドウでレポートが選択されて、印刷ダイアログが開き、そこの印刷ボタンをクリックすると印刷されます。

さて、データベースウィンドウを表示せずに、印刷ダイアログで印刷設定をするには、やはりプレビューするしか方法はないようです。そこで、、、、

とします。レポートのプレビューは開くのですが、Echoコマンドで画面描画を停止して、画面上には表示されないようにします。画面描画を止めても、具合がいいことにダイアログは表示されますので、そこで設定ができるのです。

拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/264-45425ffb
該当の記事は見つかりませんでした。