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