Excelファイルを閉じるマクロ(VBA)

スポンサーリンク

Excelファイルを閉じるマクロ(VBA)

前回のファイルを開くマクロ(VBA)と対になって必要になるのが、「開いているファイルを閉じる」マクロ(VBA)です。

ファイルを閉じるマクロには、「保存せずにそのまま閉じる」ものや、「特定のフォルダに名前を付けて保存してから閉じる」ものなど様々なコードが存在します。今回はファイルを閉じるマクロ(VBAコード)を紹介します。

ファイルを閉じるマクロ(VBAコード)

①何も指定しないで閉じるだけのマクロ(VBAコード)

開いているファイルを閉じるVBAコードは次のようになります。

Sub 開いているファイルを閉じるマクロ()
ActiveWorkbook.Close
End Sub

何も指定せずにこのマクロを実行すると、保存して閉じるか、保存しないかの確認画面が表示されます。
この画面を表示されないようにするには次の②のようにコードを記載します。

②開いているファイルを保存するときに確認画面を表示させないマクロ(VBAコード)

Sub 保存するか確認画面を表示させずファイルを閉じるマクロ()
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
End Sub

この方法で記載すると新しく更新した部分は保存されずにファイルが閉じられます。

「ActiveWorkbook.Saved = True」は閉じるときに保存確認をするかどうかという意味で、Trueに指定しておくと保存の確認をしないことになります。

私も最初は区別がつかなかったのですが、ファイルを保存するときのVBAコード「ActiveWorkbook.Save」とは文字は似ていますが全く意味が異なります。

③開いているファイルを保存し、その後にファイルを閉じるマクロ(VBAコード)

②の場合とは逆で、開いているファイルを保存してから閉じるマクロは以下のようになります。

上書きして保存するコードなので、初めて保存する場合はファイル名と保存先を入力するダイアログが出ます。

Sub 保存してファイルを閉じるマクロ()
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub

④保存先、ファイル名を指定して保存し、その後にファイルを閉じるマクロ(VBAコード)

保存先と保存ファイル名を指定する場合は以下のように「Save As “×××”」というコードを用います。

Sub 保存するか確認画面を表示させずファイルを閉じるマクロ()
.SaveAs “C:\book1.xlsm”’マクロファイルでなければ「.xlsx」と指定する。
ActiveWorkbook.Close
End Sub

おすすめ書籍 (広告)

コメント