[英]VBA Protect Function Applies the Wrong Password
我用這行代碼啟動了Workbook_Open事件
Table1.Protect Password = "Secret", UserInterFaceOnly:=True
但是,當我嘗試用它解鎖時
Table1.Unprotect ("Secret")
這是行不通的。
密碼破解者說,工作密碼將是“AAAAAAAABABF”
我如何實際設置“秘密”作為密碼。
這是一個常見的錯誤(我寫的很常見: http : //excelmatters.com/2013/10/03/whats-in-a-colon/ )。
您的Protect
代碼缺少冒號:
Table1.Protect Password:="Secret", UserInterFaceOnly:=True
您實際上是使用密碼False保護工作簿,因為這是表達式的結果:
Password = "Secret"
TL; DR閱讀Rory寫的文章(在下面的答案中)
首先,你的保護代碼是錯誤的(缺少一個冒號:
):
Table1.Protect Password = "Secret", UserInterFaceOnly:=True
這是分配Password
,將被視為未聲明的變量(您是否忘記使用Option Explicit
?)
它應該是這樣的:
Table1.Protect Password:= "Secret", UserInterFaceOnly:=True
密碼破解者說,工作密碼將是“AAAAAAAABABF”
這是因為Excel中的這些密碼不安全(這是有詳細記錄的)。 Excel中這種性質的密碼依賴於更多的數值,其中每個字符都分配了一個數值......所以:
d = 4
a = 1
(a + a + a + a) = d
所以在這種情況下使用d
或aaaa
將作為您的密碼。 (這是它如何工作的原始示例,而不是確切的方法)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.