- ベストアンサー
[Excel2000]auto_closeを止めさせるには
Excel2000で、 特定のボタンを押した場合以外の閉じる処理を キャンセルさせたいのですがうまくいきません sub ボタン押() flg = true end sub sub auto_close() if flg <> true then msgbox "AAA" exit sub end if end sub これでは、どーやってもそのまま終了してしまいます。 なにか良い方法はないでしょうか・・・ よろしくおねがいします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 閉じる処理をキャンセルするなら、WorkbookオブジェクトのBeforeCloseイベントに記述してはどうですか。 引数のCancelにTrueを代入することで、閉じる操作をキャンセル出来ます。 記述する場所は、VBE画面のプロジェクトエクスプローラ(ツリー上のもの)の「ThisWorkbook」モジュールをダブルクリックして開きます。 そこに以下のように記述します。 Private Sub Workbook_BeforeClose(Cancel As Boolean) If Not flg Then MsgBox "AAA" Cancel = True End If End Sub
その他の回答 (1)
- aptiva
- ベストアンサー率36% (193/529)
回答No.2
auto_closeが動いている段階では、既に閉じる処理はキャンセルできないようです。 #1の方法しかないと思います。
補足
回答ありがとうございます。 実は他にもモジュールを記述していて それらを全部、標準モジュールにまとめています。 なので出来れば、標準モジュールに書ける方法が いいなぁと思っているのですが、可能でしょうか・・・