Dim msg
    msg = MsgBox("您确定要退出吗?", vbYesNoCancel + vbCritical)
    If msg = vbYes Then
        '可以在此添加代码
    ElseIf msg = vbNo Then
        '可以在此添加代码
    Else
        Cancel = True
    End If

解决方案 »

  1.   

    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
     If UnloadMode = 0 Then MsgBox "关闭"
    End Sub
      

  2.   

    关闭不可用用api
    Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
    Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long
    Declare Function GetMenuString Lib "user32" Alias "GetMenuStringA" (ByVal hMenu As Long, ByVal wIDItem As Long, ByVal lpString As String, ByVal nMaxCount As Long, ByVal wFlag As Long) As Long
    Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
      

  3.   

    '前面的申明加上这段代码就可以使关闭按钮不可用了
    Private hMenu As Long
     Private CloseStr As String
     Const WM_NCLBUTTONDBLCLK = &HA3
    Const WM_NCLBUTTONDOWN = &HA1
    Const HTCAPTION = 2
    Const MF_STRING = &H0&
    Const MF_BYCOMMAND = &H0&
    Const SC_CLOSE = &HF060
    Private Sub Command2_Click()
     hMenu = GetSystemMenu(Form1.hwnd, 0)
     CloseStr = String(255, 0)
     GetMenuString hMenu, SC_CLOSE, CloseStr, 256, MF_BYCOMMAND
     CloseStr = Left(CloseStr, InStr(1, CloseStr, Chr(0)) - 1)
     DeleteMenu hMenu, SC_CLOSE, MF_BYCOMMAND
     SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
    End Sub
      

  4.   

    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)   '卸载窗体
       Dim MyExit As String
       MyExit = MsgBox("您真的想窗体吗?!", vbOKCancel +  vbQuestion, "退出系统")
       If MyExit = vbOK Then
          End
       Else
          Cancel = 1
          UnloadMode = 1
       End If
    End Sub
      

  5.   

    在querry unload事件中添加过程
      

  6.   

    谢谢大家,问题已经解决了,和大家的解决办法差不多。不管怎样,都谢谢大家的支持。我在VBA版还有个关于用WebBrowser控件打开EXCEL文件后退出的问题,大家有办法的话,帮我看看。谢谢了!