在 VBA 中保護巨集
Iqra Hasnain
2023年1月30日
2022年6月7日
我們將介紹如何保護巨集在 VBA 中不被檢視和執行。我們還將介紹為巨集設定密碼的不同步驟。
防止在 VBA 中檢視巨集
保護我們的資料非常重要;我們永遠不知道有人會如何使用它。由於我們可以通過簡單地輸入密碼來保護工作簿和工作表,因此我們還可以保護 Excel 中的巨集不被檢視。
首先,我們將在所需的工作表上新增一個命令按鈕。
然後,我們將建立一個我們想要防止檢視的簡單巨集。如下所示,我們將建立一個簡單的巨集,它將為工作表內的單元格賦值。
Private Sub CommandButton1_Click()
Range("D1").Value = "This is a protected cell"
End Sub
輸出:
現在我們將從 VBA 的選單欄中選擇工具
。將彈出一個列表,然後選擇 VBAProject Properties
。
當 VBA 專案屬性開啟時,我們將看到 General
和 Protection
選項卡。
我們必須選擇保護
選項卡並檢查鎖定專案以供檢視
。
我們必須輸入兩次密碼才能確認。然後,我們必須選擇 OK
,如下所示。
儲存更改並關閉 Excel 檔案,然後再次開啟它。當我們嘗試在 VBA 中檢視程式碼時,會彈出一個對話方塊。
要在 VBA 中檢視檔案,我們必須輸入正確的密碼。
我們仍然可以通過單擊命令按鈕來執行程式碼,但是除非我們輸入正確的密碼,否則我們將無法檢視或編輯程式碼。
防止巨集在 VBA 中執行
在某些情況下,我們只想保護巨集不被 VBA 執行。對於這種情況,我們可以使用 Application.InputBox
作為密碼保護工具。
當使用者在框中輸入正確的單詞時,它將執行程式碼。否則,它將顯示錯誤訊息並停止程式碼執行。
讓我們看一個例子,我們將嘗試使用 VBA 將值放入 Excel 中的某個單元格。如下所示,我們將使用上述方法來保護 VBA 程式碼不被執行。
Sub Pass()
Dim password As Variant
passcode = Application.InputBox("Enter Pass Code", "Password Protected")
Select Case passcode
Case Is = False
Case Is = "password"
Range("B1").Value = "Code executed!"
Case Else
MsgBox "Incorrect Pass Code"
End Select
End Sub
輸出:
通過這種方式,我們可以在 VBA 的幫助下輕鬆保護我們的巨集不被檢視和執行。