繁体   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