閉じたいファイルを指定して、Closeと書くだけです。

変更を保存することもできるので、目的に合わせて使ってみましょう。
Closeでファイルを閉じる方法
プログラムを実行するファイルとは別で、“Book1.xlsx”というファイルを閉じたいとします。
Sub test()
Workbooks("Book1.xlsx").Close
End Sub
Workbooks(“ファイル名”)で閉じたいファイルを指定してCloseと書きましょう。
>>Excelマクロでセル, シート, ファイルを指定する方法
変更を保存して閉じる方法
Sub test()
Workbooks("Book1.xlsx").Close savechanges:=True
End Sub
savechangesで、変更を保存するかしないかを決めることができます。

=の手前にコロン「:」があるので注意してください。
もしsavechangesを設定しないと以下の画面が現れます。

これが出てくるとプログラムが止まってボタンの選択待ちになります。
せっかく自動化しているのに止まるのはナンセンスですよね。
ファイル名を変更して閉じる方法
Sub test()
savePath = "C:\Users\HTOM\Desktop"
saveName = "Changed.xlsx"
Workbooks("Book1.xlsx").Close savechanges:=True, Filename:=savePath & "\" & saveName
End Sub
引数Filenameに保存後のパスを書きます。
savechangesがFalseだと、そもそも変更を保存しないので注意してください。

“Book1.xlsx”の変更を保存して、”Changed.xlsx”としてデスクトップに保存しました。


上記のコードでは、保存先フォルダのパスと保存後ファイル名とを分けました。
保存先フォルダのパスはアドレスバーをクリックすると簡単にわかります。

あとはsaveNameを好きな名前に変更するだけです。
全ファイルを保存してからExcelを終了する方法
Sub test()
For Each wb In Workbooks
wb.Save
Next wb
Application.Quit
End Sub
For Eachで全ファイルを1つずつ操作できます。
全てのファイルをSaveで保存してからQuitで終了すればOKです。
まとめ
今回はVBAでファイルを閉じる方法について解説しました。
けっこうシンプルなので、すぐに使えるようになると思います。
コメント