zl程序教程

您现在的位置是:首页 >  工具

当前栏目

VBA实战技巧:正确登录后才能使用Excel工作簿

Excel 使用 技巧 实战 正确 登录 工作 vba
2023-06-13 09:15:12 时间

当你打开这个工作簿时,Excel会弹出一个登录框,如下图1所示。当你输入正确的用户名和密码后,才能使用这个工作簿,否则会退出。

图1

这个工作簿中有一个名为“用户中心”的工作表,用来存放用户名、密码等信息,如下图2所示。

图2

打开VBE,插入一个用户窗体,在其中放置标签、文本框、按钮等控件,并将相关控件命名。如下图3所示,用户窗体命名为login,两个文本框分别命名为:txtUserName和txtPassword,两个按钮分别命名为:btnOK和btnCancel。

图3

双击用户窗体进入其代码窗口,输入下面的代码:

Private Sub btnCancel_Click()
   ThisWorkbook.Close SaveChanges:=False
End Sub
Private Sub btnOK_Click()
    Dim iFoundPass As Integer
    On Error Resume Next
    With Sheets("用户中心").Range("UserName")
       iFoundPass = .Find(What:=txtUserName, After:=.Cells(1, 1),LookIn:=xlValues, LookAt _
         :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
         False).Row
    End With
    On Error GoTo 0
    If iFoundPass = 0 Then
       SomethingWrong
        Exit Sub
    End If
    If Sheets("用户中心").Cells(iFoundPass,2) <> txtPassword Then
       SomethingWrong
        Exit Sub
    ElseIf Sheets("用户中心").Cells(iFoundPass,3) < Date Then
       Expired
        Exit Sub
    End If
   Sheets("用户中心").Range("LoggedAs")= txtUserName
    Unload Me
End Sub
Private Sub txtPassword_Change()
   btnOK.Enabled = (txtUserName.TextLength > 4 And _
                      txtPassword.TextLength> 4)
End Sub
Private Sub UserForm_Initialize()
   Me.btnOK.BackStyle = fmBackStyleTransparent
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer,CloseMode As Integer)
    If CloseMode = 0 Then Cancel = True
End Sub
Private Sub txtUserName_Change()
    btnOK.Enabled= (txtUserName.TextLength > 4 And _
                      txtPassword.TextLength> 4)
End Sub
Private Sub SomethingWrong()
   MsgBox"用户名或密码不正确.",vbCritical + vbInformation, "错误"
End Sub
Private Sub Expired()
   MsgBox"你的许可已过期.请联系申请延期或完全许可",vbCritical + vbInformation, "完美Excel"
End Sub

双击ThisWorkbook模块,在其代码窗口中输入下面的代码:

Private Sub Workbook_Open()
 Application.EnableCancelKey = xlDisabled
 Sheets("数据").Activate
 Sheets("用户中心").Visible= xlVeryHidden
  login.Show
End Sub

关闭工作簿,重新打开,会弹出上图1所示的登录窗口。

注:建议你动手按照文中的介绍实现图1所示的效果。当然,如果想下载示例工作簿,请到知识星球完美Excel社群中下载。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。