我使用这行代码
启动Workbook_Open事件Table1.Protect Password = "Secret", UserInterFaceOnly:=True
然而,当我尝试用
解锁时Table1.Unprotect ("Secret")
它不起作用。
密码破解者说,工作密码将是" AAAAAAAABABF"
我如何实际设置"秘密"作为密码。
答案 0 :(得分:4)
这是一个常见的错误(我写的很常见:http://excelmatters.com/2013/10/03/whats-in-a-colon/)。
您的Protect
代码缺少冒号:
Table1.Protect Password:="Secret", UserInterFaceOnly:=True
您实际上是使用密码False保护工作簿,因为这是表达式的结果:
Password = "Secret"
答案 1 :(得分:3)
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
将作为您的密码。 (这是它如何工作的一个粗略的例子,而不是确切的方法)。