Maniac

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 に設定

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
ページトップへ戻る
Copyright(C) 2009- 坂江保 All Rights Reserved.