構文
構文は以下の通りです。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' 実行するコードをここに記述
End Sub
' 実行するコードをここに記述
End Sub
解説
Workbook_BeforeCloseは、Excelのブックが閉じられる前に実行されるイベントです。このイベントを使用して、ユーザーがブックを閉じる前に特定のアクションを実行することができます。Cancelは、ブックを閉じる事をキャンセルするための引数です。Trueに設定するとブックを閉じません。
プログラミング例
具体的なプログラミング例を紹介します。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim 回答 As Integer
回答 = MsgBox("ブックを保存しますか?", vbYesNoCancel)
If 回答 = vbYes Then
ThisWorkbook.Save
ElseIf 回答 = vbCancel Then
Cancel = True
End If
End Sub
Dim 回答 As Integer
回答 = MsgBox("ブックを保存しますか?", vbYesNoCancel)
If 回答 = vbYes Then
ThisWorkbook.Save
ElseIf 回答 = vbCancel Then
Cancel = True
End If
End Sub
上記のプログラムは、ブックを閉じるときにメッセージボックスを表示します。「はい」を選択するとブックが保存され、「キャンセル」を選択するとブックを閉じません。
まとめ
Workbook_BeforeCloseイベントは、ブックが閉じられる前に特定の処理を実行するために使用されます。Cancel引数を使用することで、ユーザーがブックを閉じるのを防ぐことができます。