在 VBA 中保護巨集

Iqra Hasnain 2023年1月30日 2022年6月7日
  1. 防止在 VBA 中檢視巨集
  2. 防止巨集在 VBA 中執行
在 VBA 中保護巨集

我們將介紹如何保護巨集在 VBA 中不被檢視和執行。我們還將介紹為巨集設定密碼的不同步驟。

防止在 VBA 中檢視巨集

保護我們的資料非常重要;我們永遠不知道有人會如何使用它。由於我們可以通過簡單地輸入密碼來保護工作簿和工作表,因此我們還可以保護 Excel 中的巨集不被檢視。

首先,我們將在所需的工作表上新增一個命令按鈕。

在工作表中新增命令按鈕

然後,我們將建立一個我們想要防止檢視的簡單巨集。如下所示,我們將建立一個簡單的巨集,它將為工作表內的單元格賦值。

Private Sub CommandButton1_Click()
Range("D1").Value = "This is a protected cell"
End Sub

輸出:

在 VBA 中建立要保護的巨集

現在我們將從 VBA 的選單欄中選擇工具。將彈出一個列表,然後選擇 VBAProject Properties

當 VBA 專案屬性開啟時,我們將看到 GeneralProtection 選項卡。

在 VBA 步驟 1 中保護巨集

我們必須選擇保護選項卡並檢查鎖定專案以供檢視

我們必須輸入兩次密碼才能確認。然後,我們必須選擇 OK,如下所示。

在 VBA 步驟 2 中保護巨集

儲存更改並關閉 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 中執行

通過這種方式,我們可以在 VBA 的幫助下輕鬆保護我們的巨集不被檢視和執行。