構文
構文は以下の通りです。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' 実行したい処理を記述します
End Sub
' 実行したい処理を記述します
End Sub
解説
Workbook_BeforeCloseイベントプロシージャは、Excelブックが閉じられる直前に実行されます。つまり、ユーザーがブックを閉じる際に特定の処理を行いたい場合に使用します。Cancel引数は、ブックの閉じる動作をキャンセルするかどうかを制御するために使用します。
プログラミング例
次に、具体的なプログラミング例を見てみましょう。以下の例では、ブックが閉じられるときにメッセージボックスを表示する処理を行います。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' メッセージボックスを表示
MsgBox "ブックを閉じますか?", vbQuestion + vbYesNo, "確認"
' ユーザーが「いいえ」を選択した場合はブックの閉じる動作をキャンセル
If MsgBoxResult = vbNo Then
Cancel = True
End If
End Sub
' メッセージボックスを表示
MsgBox "ブックを閉じますか?", vbQuestion + vbYesNo, "確認"
' ユーザーが「いいえ」を選択した場合はブックの閉じる動作をキャンセル
If MsgBoxResult = vbNo Then
Cancel = True
End If
End Sub
上記の例では、ブックが閉じられるときに「ブックを閉じますか?」というメッセージボックスが表示されます。ユーザーが「いいえ」を選択した場合は、ブックの閉じる動作がキャンセルされます。
まとめ
Workbook_BeforeCloseイベントプロシージャは、Excelブックが閉じられる直前に実行されるイベントです。このプロシージャを使うことで、ブックの閉じる動作に対して特定の処理を追加することができます。