目次
Closeメソッド
Closeメソッドは指定したブックを閉じるメソッドです。
指定したブックの編集がすでに保存済みであればブックを閉じますが、編集が保存されていない場合は編集を保存するかどうか確認するメッセージが表示されます。
サンプルコード:Book.xlsxを閉じる
Sub sampleClose() Wporkbooks("Book1.xlsx").Close End Sub
サンプルコード:アクティブなブックを閉じる
Sub sampleClose() ActiveWorkbook.Close End Sub
編集が保存されていないブックをCloseメソッド閉じようとすると
以下の確認メッセージが表示されます。
以下ではブックの変更を保存して閉じる場合と、ブックの変更を保存せずに閉じる場合のサンプルコードを紹介します。
変更を保存してブックを閉じたい場合
Save/SaveAsメソッドで保存後に閉じる方法
あらかじめSaveメソッドで上書き保存やSaveAsメソッドで別名保存した上でブックを閉じる方法です。
サンプルコード:アクティブなブックを上書き保存後、閉じます。
Sub sampleClose1() ActiveWorkbook.Save ActiveWorkbook.Close End Sub
サンプルコード:アクティブなブックを「編集保存済」という名前で別名保存後に閉じます。
Sub sampleClose2() ActiveWorkbook.SaveAs Filename:="編集保存済" ActiveWorkbook.Close End Sub
すでにカレントディレクトリに「編集保存済」というブックがある場合は、以下のようなメッセージが表示されます。
Closeメソッドの引数「SaveChanges」に「True」を設定する方法
Closeメソッドの引数「SaveChanges」は変更を保存するかどうか「True」/「False」で指定することができます。
「SaveChanges」に「True」を指定することで、上書き保存してブックを閉じることができます。
※SaveChagesは省略することもできます。
サンプルコード:上書き保存してブックを閉じる
Sub sampleClose3() ActiveWorkbook.Close savechanges:=True 'ActiveWorkbook.Close True savechangesを省略して書くこともできます。 End Sub
変更を保存せずにブックを閉じたい場合
Closeメソッドの引数「SaveChanges」に「False」を指定することで、変更を保存せずにブックを閉じることができます。
サンプルコード:編集を保存せずにブックを閉じる
Sub sampleClose4() ActiveWorkbook.Close savechanges:=False 'ActiveWorkbook.Close False savechangesを省略して書くこともできます。 End Sub