excel vba创建登录屏幕

时间:2011-05-22 21:17:30

标签: excel forms vba login

并提前感谢您的帮助。我正在为一些工作簿创建一个登录屏幕当这个工作簿打开时,我有“userform1.show”,在userform中我已经硬编码了用户名和密码。当userform1弹出询问用户名和密码时,我可以单击X,它只是关闭表单,用户仍然可以使用工作簿。我如何让X关闭整个工作簿。我不知道在VB中调用X是什么。我尝试了所有3个选项的“application.enablecancelkey”但没有工作。

A)是正确的方法吗? B)如果它放在哪里?

2 个答案:

答案 0 :(得分:3)

您必须像这样设置QueryClose事件:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
   If MsgBox("Exit?", vbOKCancel) = vbOK Then
      ThisWorkbook.Close
   Else
      Cancel = True
   End If
End Sub

请进行您认为需要的调整,以更好地适应您的实际情况。

答案 1 :(得分:2)

你可以写

Private Sub UserForm_QueryClose(cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then
        ThisWorkbook.Close
    End If
End If

另外,您也可以通过“ X

阻止登录表单关闭
Private Sub UserForm_QueryClose(cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then
        cancel = 1
        MsgBox "Please use cancel if you want to leave the Login Box.", _
            vbOKOnly + vbInformation, "Please confirm ..."
    End If
End Sub

这就是我们如何使用我们的登录...