[英]Excel: Protect password not compatible with VBA password?
我知道在Excel中使用密碼保護工作表的2種可能方法-
這就是我感到難過的地方。 我已經使用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.