2014-01-27 95 views
1

我剛剛寫完我的代碼,並已添加一個按鈕到工作表。我希望有一種方法可以保護按鈕免受「未使用」的影響,因爲它僅適用於一個人。你如何密碼保護Excel VBA宏運行

+0

爲什麼不放一個像'If user = someonespecial然後執行代碼'的檢查? –

回答

2

您可以使用環境變量來檢查您的特殊用戶:Environ$("computername")如果您想通過計算機檢查或Environ$("username")您是否對登錄用戶名感興趣。 (或者同時在一臺計算機中同時使用一個用戶)。

然後對於額外的安全密碼保護您的VBA代碼。

編輯:

我剛剛意識到,我沒有回答這個問題。 (或者我回答了我想要的)。 如果你想通過密碼來保護你的宏,一種解決方案是讓你的按鈕調用一個用戶表單TextBox1CommandButton1

然後在用戶窗體的代碼看起來應該:

Private Sub CommandButton1_Click() 
    If TextBox1.Value = "Password" Then 'Replace Password by your custom password 
     LaunchYourMacro 'This is the sub that was being called by your button. 
    Else 
     MsgBox "You are not allowed to launch the macro" 
    Exit Sub 
End Sub 

希望一個解決方案或其他是有幫助的。

+0

這太棒了。還有一個問題是,你是在代碼的主體之前還是之後?因爲我得到一個'子或功能未定義' –

+1

您需要插入一個帶有文本框和按鈕的用戶窗體。 (如果您在這裏迷路,您可以查看:http://www.homeandlearn.org/getting_started_with_user_forms.html)。然後右鍵單擊您的用戶表單,單擊代碼並粘貼上面的代碼。讓我知道你如何繼續。 – hstay

+0

非常感謝,因爲我感到有點失落,整天的編碼和我的腦袋即將爆炸,我將不得不放棄它。 –