在VBA密码框上加密密码

时间:2014-09-28 08:15:04

标签: excel vba encryption

我的excel电子表格有几个用户表单,我需要为某些我不希望大多数人访问的任务设置管理面板。

我遇到的问题是我可以设置一个简单的密码保护表单,但文本始终可见。我想尝试加密它,所以如果有人正在查看我的应该或其他管理员之一,那么他们就看不到密码了。

是否有文字显示为 **** 或类似内容?

由于 人

Private Sub CommandButton1_Click()
Dim MyValue As Variant
MyValue = InputBox("Enter Password")
     If MyValue = "lemonade" Then 'lemonade being the password
     Application.Visible = True
     Else
    MsgBox ("Password Incorrect")
End If
End Sub

编辑 - 我已修改它以遵循您的建议,因为我有它来打开输入框而不是创建我自己的用户形式。

If Pword2.Value = "lemonade" Then
AddPick1.Hide
Report1.Hide
Unload Me
Admin1.Show vbModal
Else
MsgBox ("Password Incorrect")
End If

当密码不正确时,它会给出错误的密码错误,但是当它正确时它会给我以下错误(必须首先关闭隐藏最顶层的模态表单)但是我要设置为在加载Admin1之前隐藏所有其他表单形成?

1 个答案:

答案 0 :(得分:2)

在TextBox属性中有一个名为PasswordChar的属性。在此处输入您首选的“隐藏”字符。

如果您希望使用鼠标按键和鼠标,还可以在表单中添加一个按钮以显示密码 _Down事件。 MouseDown在名为TextBox1的文本框上使用名为CommandButton1的按钮,如下所示:

Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    TextBox1.PasswordChar = vbNullChar
End Sub

我将让您编写Mouse_Up事件的代码。

This link会为您提供相关用途,但您会在Google搜索中找到大量示例。