2014-09-28 154 views
1

我有一些用於我的Excel電子表格的用戶表單,我需要爲某些我不希望大多數人訪問的任務設置管理面板。在VBA密碼框中加密密碼

我的問題是,我可以設置一個簡單的密碼保護窗體,但文本始終可見。我想嘗試加密它,所以如果有人正在查看我應該或其他管理員的肩膀,那麼他們看不到密碼。

反正有沒有文字顯示爲****或類似的東西?

感謝 鋁

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表單之前?

回答

2

在TextBox屬性中有一個名爲PasswordChar的屬性。在這裏輸入您的首選'隱藏'字符。

如果您希望使用「鼠標移動」和「鼠標移動」事件,還可以在窗體中添加一個按鈕以顯示密碼。的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會給你使用,但你會發現很多谷歌搜索的例子。

+0

感謝您@barryleajo我跟着,但即時得到一個模態錯誤。我修改了代碼以及它的加載方式。 PS對不起,我很痛苦haha – 2014-09-28 08:46:25

+0

不要使用InputBox,只需在現有的用戶窗體上爲密碼創建一個TextBox。 – barryleajo 2014-09-28 08:57:44

+0

謝謝採取了這個建議,並得到它的工作:-) – 2014-09-28 09:33:07