繁体   English   中英

Excel保护和取消保护工作簿VBA

[英]Excel protect and unprotect workbook VBA

我有一个工作簿,其中包含几个(查找)选项卡,但我不希望任何用户都可以取消隐藏。 但是,有一个选项卡包含我希望管理员用户能够看到的管理员信息。 我有一个按钮和宏,在取消隐藏此选项卡之前会提示您输入管理员密码,但是如果我保护工作簿结构(以便其他用户无法访问隐藏的选项卡),则vba会失败。 有没有办法从admin宏中保护/取消保护工作簿? 我已经尝试了ActiveWorkbook.UnprotectActiveWorkbook.ProtectActiveWorkbook.ProtectStructure各种组合都无济于事-都在admin宏和WorkbookOpen中。 我最常遇到的错误消息是即使在代码的顶部出现ActiveWorkbook.Unprotect之后,也仍然显示“无法分配给只读属性”。 有谁知道如何解决这个问题? 我真的不想让所有选项卡保持打开状态,而无需在管理员工作表本身上添加第二个密码即可-笨拙!

不必保护整个工作簿,而是将要隐藏的工作表的Visible属性设置为xlSheetVeryHidden您可以在VBA编辑器的属性窗口中手动执行此操作。 现在,这些工作表将不会显示在“ Unhide…对话框中。 您的宏可以将仅管理员工作表的可见性从xlSheetVeryHiddenxlSheetVisible并返回。

就其本身而言,这不能保护您的工作簿免受知道如何访问VBA编辑器和属性的用户的影响,但是,如果您需要这样做,似乎可以对快速的Web搜索找到很多答案-这可能取决于您的版本Excel。

暂无
暂无

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

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