Excelファイルを開いた時/保存した時/閉じた時にVBAマクロを実行してみる
Excelファイルを開いた時や保存した時、閉じたときにVBAマクロを実行してみる。
コードを下記のように書く。
' ファイルを開いたとき実行するマクロ Private Sub Workbook_Open() MsgBox "ファイルを開きました!" End Sub ' ファイルを保存したとき実行するマクロ Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) MsgBox "ファイルを保存します!" End Sub ' ファイルを閉じたときに実行するマクロ Private Sub Workbook_BeforeClose(Cancel As Boolean) MsgBox "ファイルを閉じます!" End Sub
これで、ファイルを開いたときや保存したとき、終了したときに メッセージが表示される。
ファイルを保存せずに閉じようとした場合
Workbook_BeforeCloseの処理が実行された後、
ファイルが保存されている場合のみ処理を実行したい場合は ActiveWorkbook.Savedを見て判断するのが良さそう。
また、CancelにTrueを設定しておくと、この後、Close処理がキャンセルされるみたい。
' ファイルを閉じたときに実行するマクロ Private Sub Workbook_BeforeClose(Cancel As Boolean) If ActiveWorkbook.Saved = True Then MsgBox "ファイルを閉じます!" Else MsgBox "ファイルを保存してください!" Cancel = True End If End Sub