VBA开发:手把手教你建立应用的密码登录界面防止非法用户使用

开发成功一个VBA应用之后,需要分发给不同的用户使用,可能对不同的用户有不同的授权,以免非授权用户错误使用造成信息泄露或者数据错误。

为了实现这一点,我们需要采取以下步骤:
1) 建立一个自定义窗体,并在窗体中设置文本框以输入密码,设置登录按钮以最终登录。
2) 在自定义窗体的程序中设置,防止通过窗体右上角的关闭窗体按钮来退出窗体,绕过密码登录。
3) 在窗体的登录按钮程序中,设置密码的比对,以及比对正确进入应用,或者密码错误超过一定次数关闭应用的功能。
4) 在应用的workbook.open时间中显示这个窗体,让应用一打开就进入密码登录窗体。

下面就以一个实例来手把手教你实现这个目标。

  1. 建立自定义窗体

第一步,在VBA编程界面,点击“插入”菜单下面的”插入自定义窗体”。会出现一个空白的userform,从工具箱里,分别选取标签、文本框、命令按钮,并插入到userform中,移动到合适的位置。
第二步,将标签的caption属性改为”请输入登录密码”,命令按钮的caption属性改为“登录”
在这里插入图片描述

  1. 在用户窗体的代码中,插入一段代码,防止使用者通过点击窗体右上角的“X”来关闭这个登录窗体,绕开密码输入。这段代码的原理是,当使用者点击”X”时,会触发UserForm.QueryClose事件,我们在这个事件里面编程,不允许关闭。
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = vbFormControlMenu Then
        Cancel = True
    End If
End Sub

  1. 在代码编辑界面,点击登录按钮,进入登录按钮的CommandButton1_Click事件,加入以下代码
Private Sub CommandButton1_Click()
    mypassword = "123456"
    If mypassword <> TextBox1.Value Then
        passcount = passcount + 1
        If passcount > 4 Then
            MsgBox "连续5此密码输入错误,本程序将自动关闭"
            ThisWorkbook.Close
            Exit Sub
        Else
            MsgBox "密码错误"
            Exit Sub
        End If
    Else
        Unload UserForm1
    End If

End Sub

  1. 在应用的主程序中的workbook.open事件中,加入显示上述自定义窗体的命令。
Private Sub Workbook_Open()
 UserForm1.Show
End Sub

好了,到此为止,一个简单的登录界面就实现了,启动应用如下图,如果用户输入了正确的密码,就退出登录界面进入应用,如果用户连续输入5次错误密码,自动关闭应用。使用者无法绕开密码输入环节,要么录入正确的密码,要么连续5次输入错误密码自动退出。

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZevieZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值