• ベストアンサー

[Excel2000]auto_closeを止めさせるには

Excel2000で、 特定のボタンを押した場合以外の閉じる処理を キャンセルさせたいのですがうまくいきません sub ボタン押() flg = true end sub sub auto_close() if flg <> true then msgbox "AAA" exit sub end if end sub これでは、どーやってもそのまま終了してしまいます。 なにか良い方法はないでしょうか・・・ よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。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

MEITO
質問者

補足

回答ありがとうございます。 実は他にもモジュールを記述していて それらを全部、標準モジュールにまとめています。 なので出来れば、標準モジュールに書ける方法が いいなぁと思っているのですが、可能でしょうか・・・

その他の回答 (1)

  • aptiva
  • ベストアンサー率36% (193/529)
回答No.2

auto_closeが動いている段階では、既に閉じる処理はキャンセルできないようです。 #1の方法しかないと思います。

関連するQ&A