Excel VBA ブックを閉じるCloseメソッド Excelを終了するQuitメソッド

スポンサーリンク

Close【クローズ】メソッド

指定したブックを閉じるには、WorkBooks【ワークブックス】コレクションまたは、Workbook【ワークブック】オブジェクトのClose【クローズ】メソッドを使用します。

引数をすべて省略すると、ブックに変更がない場合はそのまま閉じますが変更がある場合は保存を確認するメッセージが表示されます。

Close【クローズ】メソッドの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト.Close[(SavaChanges,FileName,Routeworbook)]

  • オブジェクト(必須)
    Workbooks【ワークブックス】コレクションまたは、Workbook【ワークブック】オブジェクトを指定します。Workbooksコレクションでは開いているすべてのブックが対象になり引数の指定はできません。Workbookオブジェクトでは指定した単一のブックが対象になります。
  • SaveChanges【セーブチェンジズ】(省略可)
    ブックに変更がある場合に変更を保存するかどうかをTrueまたはFalseで指定します。
内容
True 既存ブックの場合
引数FileNameが指定されている場合は引数FileNameの名前でブックを保存
(既存のブックは変更なし)
新規ブックの場合
引数FileNameが指定されている場合は引数FileNameで指定した名前で保存
指定しない場合は「名前を付けて保存」ダイアログボックスが表示される
False 変更を保存しないで保存
省略 変更したファイルを保存するかどうかを確認するメッセージが表示される
  • FileName【ファイルネーム】(省略可)
    引数SaveChangesがTrueの場合、ファイル名を指定してファイルを保存します。
  • RouteWorkbook【ルートワークブック】(省略可)
    ブックに回覧の設定がされている場合に有効になります。
    Trueの場合はブックを次の宛先に送信します。Falseの場合はブックを送信しません。省略するとブックの送信を確認するメッセージが表示されます。

アクティブブックを変更を保存して閉じるコード例

Sub 変更を保存して閉じる()
ActiveWorkbook.Close SaveChanges:=True
End sub

Quit【クイット】メソッド

Excelを終了させるには、Apllication【アプリケーション】オブジェクトのQuit【クイット】メソッドを使用します。開いているすべてのブックが閉じられます。

開いているブックの変更が保存されていない場合は、変更を保存するかどうかの確認メッセージが表示されます。

Quit【クイット】メソッドの書式と設定値の説明

オブジェクト.Quit

  • オブジェクト(必須)
    Application【アプリケーション】オブジェクトを指定します。

※開いているブックの変更が保存されていない場合は、変更の保存を確認するメッセージが表示されます。確認メッセージを表示させたくない場合は、Application【アプリケーション】オブジェクトのDisplayAlerts【ディスプレイアラーツ】プロパティをFalseにするかブックのSaved【サーブドゥ】プロパティをTrueに設定すれば変更を保存せずに終了することができます。

変更を保存したい場合は、Save【セーブ】メソッドまたは、SaveAs【セーブアズ】メソッドでブックを保存してからQuit【クイット】メソッドでExcelを終了します。

開いているすべてのブックを上書き保存して終了するコード例

Sub 上書き終了()
Dim ブック As Workbook
For Each ブック In Workbooks
ブック.Save
Next
Application.Quit
End Sub

※上書き保存しないで終了する場合は、4行目を「ブック.Saved = True」に書き換えます。


以上で、Close【クローズ】メソッド 、Quit【クイット】メソッドについての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告