Excel VBA ブックを閉じる Workbook.Close

スポンサーリンク
スポンサーリンク

Workbook.Closeを使用してブックを閉じる

やりたい事

Workbook.Closeを使用してブックを閉じる方法を解説します。

ブック内のデータを取得するためだけに保存せずに閉じたり、ブックに変更を加えた後に保存して閉じる方法についてみていきます。

サンプルコード

すでに「sample.xlsx」を開いている場合には以下のコードでブックを閉じることができます。
ブックに変更がある場合は、以下のメッセージが出力されます。

Sub bookCloseSample()
    Workbooks("sample.xlsx").Close
End Sub

以下は、ブックを開いて、変更を保存しないで閉じるサンプルコードです。

「SaveChanges」を「False」に設定すると保存しないで閉じることができます。

Sub bookCloseSample2()
    
    Dim path As String: path = "D:\Excel\sample.xlsx"
    Dim wb As Workbook
    Set wb = Workbooks.Open(Filename:=path)
    MsgBox ""
    wb.Close SaveChanges:=False
    
End Sub

以下は、ブックを保存して閉じるサンプルコードです。

「SaveChanges」を「True」に設定すると保存してブックを閉じることが可能です。

Sub bookCloseSample3()
    Workbooks("sample.xlsx").Close SaveChanges:=True
End Sub

構文

expression.Close (SaveChanges, FileName, RouteWorkbook)
名前 必須/オプション データ型 説明
SaveChanges 省略可能 Variant ブックに変更がない場合、この引数は無視されます。 ブックに変更があり、開いている他のウィンドウに表示されている場合、この引数は無視されます。 ブックに変更があり、開いている他のどのウィンドウにも表示されていない場合、この引数で、変更を保存するかどうかを指定します。 True を指定すると、変更がブックに保存されます。
FileName 省略可能 Variant このファイル名の下に変更を保存します。
RouteWorkbook 省略可能 Variant ブックを次の受信者に回覧する必要がない場合 (回覧用紙がないか、既に回覧されている場合)、この引数は無視されます。 それ以外の場合、このパラメーターの値に応じてブックが回覧されます。

最後の回覧の機能については使うことは多分ないと思うので省略していいでしょう。古いバージョンのExcel(Excel2007より前?)の機能みたいです。

参考資料

Docs

関連記事

Excel VBA ブックを開く Workbooks.OPENメソッド
ブックを開く方法 やりたい事 VBAを使用してブックを開く方法を解説します。 サンプルコード 基本的な使い方は以下になります。 Sub bookOpen() Dim path As String: path = "D:\Excel\samp...

コメント

タイトルとURLをコピーしました