我可以用密码保护 Excel 宏吗?

我可以用密码保护 Excel 宏吗?

我知道可以用密码保护整个 Excel 工作簿,但是我可以打开工作簿(没有密码)并只用密码保护宏吗?

(我使用的是 Excel 2007。)

更新:明确地说,我希望用密码保护查看宏的权限,而不是运行宏的权限。因此,每个人都应该能够运行它,但只有我可以访问源代码。

答案1

除了@music2myear的回答之外,您还可以保护工作簿的VBA代码,这样用户就无法读取它来获取密码。在VBE中,只需右键单击项目并选择VBAProject属性,然后单击保护选项卡。

答案2

您可以让宏要求输入密码。只要用户没有能力在 VBA 代码本身中寻找密码,这就可以非常非常容易。

只需使用输入框询问密码即可。如果输入与给定的字符串匹配,则允许宏继续。

您可以通过将密码文本转换为数字并对这些数字执行数学运算来创建简单的“哈希”,从而使其更加复杂但仍然相对简单。然后,您只需获取任何输入并在运行比较之前对其执行相同的操作即可。

此链接显示了如何使用此方法检查多个可能的密码并根据它们执行不同的操作:http://www.ozgrid.com/forum/showthread.php?t=68186&page=1

此链接显示如何用星号替换输入文本,就像“真正的”密码框一样:http://www.xcelfiles.com/API_09.html

相关内容