ブックを閉じる

広告

開いているブックを閉じる方法を確認します。Workbookオブジェクトの「Close」メソッドを使います。

ActiveWorkbook.Close

閉じようとするブックが、最後に保存されてから変更が行われている場合にはファイルを保存するかどうか確認するための確認ダイアログが表示されます。

「SaveChanges」引数を使うことでブックに変更がある場合の処理を指定できます。「True」を設定する場合には上書き保存されます。また「FileName」引数も合わせて指定することで任意のファイル名で保存することが出来ます。「False」を指定した場合には変更を保存せずにブックを閉じます。(新規ブックの場合で「FileName」引数を指定しなかった場合には「名前を付けて保存」ダイアログが表示されて保存するファイル名を指定することになります。

ActiveWorkbook.Close SaveChanges:=True, _
    FileName:="backup.xls"

「Close」メソッドは単一のWorkbookオブジェクトに対してだけではなく、Workbooksコレクションに対しても実行できます。

Workbooks.Close

Workbooksコレクションに「Close」メソッドを使った場合には、全てのブックが閉じられます。この場合は引数を指定できません。よって変更されたブックがあった場合にはファイルを保存するかどうかの確認ダイアログが表示されます。

サンプルプログラム

では簡単なサンプルで試してみましょう。

testbooknew13.bas

Sub テスト()
    
    Workbooks.Open filename:="C:¥excelsample¥2005年成績.xls"
     
    ActiveSheet.Range("A1").Value = "保存"
    ActiveWorkbook.Close SaveChanges:=True, filename:="backup.xls"
    
End Sub

上記マクロを実行すると画面上は変化がありませんが、開いたブックには変更が加えられているので、閉じる際に「backup.xls」と言う名前で保存されたから閉じられます。(別の名前で保存していますので、元々のファイルには変更分は反映されません)。

Excel VBA入門の他の記事を見てみる

( Written by Tatsuo Ikura )