当我在VBA中调用Thisworkbook.Protect时,实际上对工作簿的保护会从当前工作簿的保护状态切换,而不仅仅是保护工作簿。

Thisworkbook.Unprotect不会这样做。

有人知道为什么会这样或如何解决吗?

最佳答案

不知道这是设计使然还是错误...如果提供参数,则可以正常工作:

ActiveWorkbook.Protect ,true,true


要么

ActiveWorkbook.Protect Structure:= true


无论您需要/想要。这样,它不会仅打开保护功能。

要关闭保护,您可以使用以下方法(假设您仅打开了结构保护):

ActiveWorkbook.Protect Structure:= false




参数为:

.Protect(Password, Structure, Windows)

07-24 09:36