Application.Quit 2010.06.29
Application.QuitメソッドはExcelを終了させるメソッドです。簡単に使用できますが、幾つかの注意が必要です。
機能と使用例
機能:アプリケーション(Excel)を終了する
Sub App_Quit() '使用例 Application.Quit End Sub
このメソッドを実行すると、開いているブックをまだ保存していない場合は、変更を保存するかどうかを確認するダイアログ ボックスが表示されます。
ダイアログ ボックスを表示させない場合は?
代表的な例を3つ挙げます。
Quit メソッドを使う前にすべてのブックを保存
Sub App_Quit1() 'ダイアログボックスを表示させずに終了する例1 Dim w As Workbook For Each w In Application.Workbooks w.Save Next Application.Quit End Sub
Application.DisplayAlerts = False のコードを併記
このプロパティが False に設定されていると、ダイアログ ボックスは表示されず、変更したブックを保存しないで Excel を終了します。
Sub App_Quit2() 'ダイアログボックスを表示させずに終了する例2 With Application .DisplayAlerts = False .Quit End With End Sub
ブックの Saved プロパティを True に設定
SavedプロパティをTrueに設定すると、ブックが保存されたことになり(実際には保存されていない)、ダイアログ ボックスは表示されず、Excel を終了します。
Sub App_Quit3() 'ダイアログボックスを表示させずに終了する例3 Dim w As Workbook For Each w In Application.Workbooks w.Saved = True Next Application.Quit End Sub
Quitメソッドの特徴
●Quitメソッド後のコードも実行される。
●Quitメソッドを実行したあとは、Bookのパスを取得できない。
●イベントプロシージャ「Workbook_BeforeClose」にコードを記述している場合、Quitのコードが実行された後、Workbook_BeforeCloseのコードが実行される。
Sub App_Quit_BookPath() 'Quitメソッドの前後でブックパスを取得 MsgBox ThisWorkbook.Path 'Bookパスが表示される Application.Quit MsgBox ThisWorkbook.Path 'Bookパスが表示されない End Sub