Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5975 / 13646 ツリー ←次へ | 前へ→

【47895】モーダレスのユーザーフォームと印刷プレビュー画面について saf 07/3/26(月) 4:37 質問[未読]
【47896】Re:モーダレスのユーザーフォームと印刷プ... ichinose 07/3/26(月) 9:15 発言[未読]
【47912】Re:モーダレスのユーザーフォームと印刷プ... saf 07/3/26(月) 13:57 お礼[未読]

【47895】モーダレスのユーザーフォームと印刷プレ...
質問  saf  - 07/3/26(月) 4:37 -

引用なし
パスワード
   はじめまして。
失礼致します。

モーダレスのユーザーフォームと印刷プレビュー画面について
質問があります。

モーダレスのユーザーフォームを表示した状態で
Excelの印刷プレビューボタン
(ユーザーフォームから実装しているわけではない)が押下されたとき、
印刷プレビュー画面にユーザーフォームが残って表示されてしまい、
実際のシートの印刷部分が隠れて見にくくなり困っています。

印刷プレビュー画面が表示された場合に
ユーザーフォームを非表示とする方法はないでしょうか?

ご回答宜しくお願い致します。

【47896】Re:モーダレスのユーザーフォームと印刷...
発言  ichinose  - 07/3/26(月) 9:15 -

引用なし
パスワード
   ▼saf さん:
おはようございます。

>
>モーダレスのユーザーフォームと印刷プレビュー画面について
>質問があります。
>
>モーダレスのユーザーフォームを表示した状態で
>Excelの印刷プレビューボタン
>(ユーザーフォームから実装しているわけではない)が押下されたとき、
>印刷プレビュー画面にユーザーフォームが残って表示されてしまい、
>実際のシートの印刷部分が隠れて見にくくなり困っています。
>印刷プレビュー画面が表示された場合に
>ユーザーフォームを非表示とする方法はないでしょうか?

消すのは、まあ出来ますけどね!!
Thisworkbookのモジュールに

'===========================================
Private Sub Workbook_BeforePrint(Cancel As Boolean)
  UserForm1.Hide
  Application.OnTime Now(), "hyouji"
End Sub

標準モジュールに
'========================================================
Sub hyouji()
  UserForm1.Show vbModeless
End Sub

userform1をモーダレスで表示した状態で試してみてください。

Excel2002で確認したところプレビュー中は非表示、プレビュー解除後、Userform1
が再表示されました。

この動作は、実際の印刷でもおこります。

尚、本来は、

Private Sub Workbook_BeforePrint(Cancel As Boolean)
  UserForm1.Hide 'ここで、本当にUserform1が表示(ロード)されているか
          'チェックが必要ですよ!! 過去ログにあります
  Application.OnTime Now(), "hyouji"
End Sub

【47912】Re:モーダレスのユーザーフォームと印刷...
お礼  saf  - 07/3/26(月) 13:57 -

引用なし
パスワード
   ▼ichinose さん:
詳細かつ明瞭な回答ありがとうございます。

小生が質問で伝えもれていた
印刷プレビュー後の再表示についてまで
言及していただき、感服いたしました。

その印刷プレビュー後の再表示についてまで言及した実装例に基づいて記述し、
表示切替の動作が確認できました。

本当にありがとうございました。

5975 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free