Application.Quit

Application.Quit

 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 に設定する。
   ダイアログ ボックスを表示せずに 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

Excel Tips for Teachers

Copyright (C) 2009- 坂江 保 All Rights Reserved.