簡體   English   中英

VBA保護功能應用錯誤的密碼

[英]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

所以在這種情況下使用daaaa將作為您的密碼。 (這是它如何工作的原始示例,而不是確切的方法)。

暫無
暫無

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

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