IT仕事 MS Access

フォームを直接Accessで印刷プレビューし、閉じるときのイベントで処理をしたい

投稿日:

困ったこと:

前提として、自分とこのシステムは、フォームを直接Accessで印刷プレビューして、そのまま印刷できるように作ってある。

しかし、リボンに印刷プレビューを閉じるボタンがある一方で、フォームの右に閉じるボタンが表示されているので、後者をユーザーが誤って押してしまうことがある。
すると印刷プレビューを終えるつもりがフォームを閉じることになってしまう。
再度、呼び出したいフォームを探して開くのは面倒・・・。

やりたかったこと:

リボンの印刷プレビューをクリックすると、フォームウィンドウを最大化してプレビューする(ここは簡単、DoCmd.Maximizeで)。
印刷プレビューを閉じると、フォームウィンドウのサイズが元に戻る(ここがわからん)。

難しかったこと:

印刷プレビューを閉じた際のイベントトリガーがAccessにあるのかないのかわからず、調べるのにずいぶん時間がかかった。

以下の達人のブログを拝見し、イベントを追跡する方法があることを発見し、フォームのプロパティの各所にイベントトラップを仕掛けて、調査した。感謝。
■T’sWare イベント徹底活用 1 ~フォームのオープン・クローズ~

できた:

フォームの「レコード移動時」イベントに記述した処理で、目的が達成できることを発見。
具体的には、以下のコードでOK。

Private Sub Form_Current()
'印刷プレビューから戻るときにフォームのサイズを変える
'■T'sWare イベント徹底活用 1 ~フォームのオープン・クローズ~
'http://tsware.jp/study/vol5/event_01.htm
    DoCmd.Restore
End Sub

-IT仕事, MS Access

執筆者:

関連記事

no image

会話のうまい人

結構相手の気を感じ取れる人なんだけど、たまに刺激的な発言をする。 言われた相手も、刺激的な言葉で返してくる。 しかしけんかにはならず、相手の本音が聞き出せたり、会話が弾んだり。 うまいなあ、と思う。 …

ShopifyからChatworkへ通知(JSON)

Arigato Automtion(Shopify)から、PowerAutomateへの、JSONデータの渡し方について、需要あるかもと思い、書いてみる。 自分がやっていた以前のやり方(これだと日本語 …

no image

禁止リスト@差出人

Spam Mail Killerを使っている。 窓の杜 – Spam Mail Killer http://www.forest.impress.co.jp/lib/inet/mail/a …

no image

desknet’s neo

会社で使っているスケジュール管理サービスなのだが、このたびdesknet’s からdesknet’s neoにバージョンアップした。 スマートフォン対応というのに惹かれたのだが …

no image

Gifzoってのを使ってみたのですが、スゴイ便利

スクリーンキャストを撮るのに、Gifzoってのを使ってみたのですが、スゴイ便利。 Gifzo – 宇宙一簡単なスクリーンキャスト共有 例えば、こんな感じに撮れる。 ちょっとした意思の疎通が …