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より前?)の機能みたいです。
参考資料
関連記事
Excel VBA ブックを開く Workbooks.OPENメソッド
ブックを開く方法 やりたい事 VBAを使用してブックを開く方法を解説します。 サンプルコード 基本的な使い方は以下になります。 Sub bookOpen() Dim path As String: path = "D:\Excel\samp...
コメント