【VBA】×ボタンでフォームが閉じるのを阻止する

Formが閉じる際にQueryCloseが流れるので、そこで阻止すればよい

 

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  If CloseMode = 0 Then
    MsgBox "[×]ボタンで閉じることはできません。"

    ’Trueにすることで閉じるのを阻止
    Cancel = True
  End If
End Sub

 

CloseMode = 0は×ボタン押下時に取得する値

1はUnloadによって閉じられた場合

2は現在の Windows オペレーティング環境セッションが終了しようとした場合

3はタスクマネージャーによって閉じられた場合

 

以上