授予宏访问受保护的工作表

时间:2016-07-11 15:14:20

标签: excel vba excel-vba security

我有一个使用VBA在MS Excel中构建的应用程序。我最初通过密码保护了一些工作表和VBA项目。我的用户只能在特定工作表中的特定单元格上输入和使用下拉菜单。为了让我的VBA修改受保护的纸张,我必须取消保护纸张,然后使用密码重新保护它们。

项目的要求现在已经改变,现在要求我不要在代码中使用硬编码字符串来保护和取消保护工作表。

我的VBA代码中的代码示例如下。

Worksheets("Loading").Unprotect ("****")
[Functional Code]
Worksheets("Loading").Protect ("****")

考虑到我必须拥有密码才能访问VBA项目,是否有办法允许项目与受保护的工作表进行交互,就好像它们没有受到保护一样?

如果没有。是否有另一种方法可以阻止用户与工作表进行交互,同时不会抑制VBA交互(非常隐藏不适用于用户仍然需要查看工作表)。

旁注:这需要防止技术水平最低的普通人以不应该的方式改变工作表

1 个答案:

答案 0 :(得分:3)

在未受保护的工作表上使用,

Worksheets("Loading").Protect Password:=****, UserInterfaceOnly:=True

有关详细信息,请参阅Worksheet.Protect method。使用此额外参数设置并保存工作簿后,任何VBA代码都会绕过保护,但仍保留用于用户交互的保护。

相关问题