繁体   English   中英

Excel:保护密码与VBA密码不兼容?

[英]Excel: Protect password not compatible with VBA password?

我知道在Excel中使用密码保护工作表的2种可能方法-

  1. 手动密码保护
  2. 使用VBA进行密码保护

这就是我感到难过的地方。 我已经使用VBA对工作表进行了密码保护,然后尝试使用与VBA中使用的相同密码手动取消保护它。 但是Excel引发错误,提示提供的密码不正确。 我也尝试了相反的做法-手动保护文件,然后尝试使用VBA在代码中提供正确密码的情况下取消保护; 同样的错误。 任何想法为什么会这样?

如果我正确理解了您的问题,则会发生这种情况,因为每个密码都在保护不同的东西。 它们不是同一件事。 你可以有没有密码保护,但VBA代码密码保护的工作簿。

经过分析,我发现了代码中的问题-

ActiveWorkbook.Protect Password = "xyz", Structure:=True, Windows:=False

密码选项分配了“ =”符号,而不是“:=”。 该代码仍然保护工作表,但密码为空。 当我使用类似的Unprotect代码时,

ActiveWorkbook.Unprotect Password = "xyz"

取消保护代码传递了空密码。 因此,如果我尝试使用手动密码“ xyz”,则会引发错误。

解决该问题的正确代码是

ActiveWorkbook.Protect Password:= "xyz", Structure:=True, Windows:=False
ActiveWorkbook.Unprotect Password:= "xyz

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM