簡體   English   中英

Excel:保護密碼與VBA密碼不兼容?

[英]Excel: Protect password not compatible with VBA password?

我知道在Excel中使用密碼保護工作表的2種可能方法-

  1. 手動密碼保護
  2. 使用VBA進行密碼保護

這就是我感到難過的地方。 我已經使用VBA對工作表進行了密碼保護,然后嘗試使用與VBA中使用的相同密碼手動取消保護它。 但是Excel引發錯誤,提示提供的密碼不正確。 我也嘗試了相反的做法-手動保護文件,然后嘗試使用VBA在代碼中提供正確密碼的情況下取消保護; 同樣的錯誤。 任何想法為什么會這樣?

如果我正確理解了您的問題,則會發生這種情況,因為每個密碼都在保護不同的東西。 它們不是同一件事。 你可以有沒有密碼保護,但VBA代碼密碼保護的工作簿。

經過分析,我發現了代碼中的問題-

ActiveWorkbook.Protect Password = "xyz", Structure:=True, Windows:=False

密碼選項分配了“ =”符號,而不是“:=”。 該代碼仍然保護工作表,但密碼為空。 當我使用類似的Unprotect代碼時,

ActiveWorkbook.Unprotect Password = "xyz"

取消保護代碼傳遞了空密碼。 因此,如果我嘗試使用手動密碼“ xyz”,則會引發錯誤。

解決該問題的正確代碼是

ActiveWorkbook.Protect Password:= "xyz", Structure:=True, Windows:=False
ActiveWorkbook.Unprotect Password:= "xyz

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM