打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

2022.09.07 四川

关注

excelperfect

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

1

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

2

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

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所示的效果。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel【VBA】登录窗口实现!
EXCEL登录系统
完全手册Excel VBA典型实例大全:通过368个例子掌握
惊了!每天按时下班的男同事,私下竟用Excel搞「多人运动」!【excel教程】
详细讲解如何用EXCEL制作登录界面
VBA新手入门篇 - excel函数,excel公式,excel学习,excel基础,ex...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服