Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If vbAppWindows = UnloadMode Then
Cancel = True
End If
End Sub
▼ シャットダウン以外の終了では OK / Cancel の確認メッセージを表示する
シャットダウンではそのまま終了処理に移行する
ただし、確認メッセージの表示中はフォームの動作が停止します(タイマーも停止します)
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If vbAppWindows <> UnloadMode Then
Dim r As Integer
r = MsgBox("終了しますか?", vbOKCancel + vbCritical)
If 2 = r Then
Cancel = True
Exit Sub
End If
End If
'ここから終了処理
'MsgBox ("終了処理")
End Sub