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

執筆者:

関連記事

JQueryでカレンダー入力機能

以下を参考に、ZeroMailというメールフォームスクリプトにカレンダー入力機能を追加。 Datepicker | jQuery UI 1.10 日本語リファレンス | js STUDIO 他のサイト …

no image

ITC

昨晩は飲み会だった。 さるNPOの総会後の懇親会。 酔っ払っていたので帰ってからすぐに布団に入って寝入ってしまったのだが、さっき、腕を蚊に喰われてかゆみで目が醒めてしまい、こうして日記を書いている。 …

no image

ペースターno日付計算

便利に使わせていただいているシェアウェアの「ペースター」ですが、 カスタムメニューを使って、3日前とか、一週間前の日付計算をしてから貼り付ける方法が、わからなかった。 さっきGoogleで調べたら、な …

no image

IME2007だめだめ

Office2007にしてから日本語入力の変換が重くて重くて仕方がない。 もしやと思うと、やっぱり。 IMEがバージョンアップして「2007」になっていた。 IME2007だめだめ。 ネット検索すると …

no image

Accessでのテーブルのエクスポート定義

Access2007のテーブルをcsv保存したいのだが、結果ファイルにダブルコーテーションを付けたくない・・・。 ダブルクォーテーションつきであれば、例えば、 DoCmd.TransferText a …