Roc*_*oal 2 macros microsoft-excel-2007 microsoft-excel
我有一个工作簿,里面有很多工作表、宏和计算。我现在需要把这张表寄出去(昨天之前没有预见到)。我如何锁定它以便用户:
我已经完成并解锁了我希望它们更改的那些单元格。隐藏的按钮和公式行,然后锁定它们。隐藏的工作表。我现在用密码保护了工作表。
但是,这是否会阻止用户访问宏/代码?或取消隐藏床单?如果没有,我该如何正确/安全/完全锁定工作簿?
这听起来像是一种老大哥类型的安全保护,但我只是确保所有互连的单元都没有被意外更改,或者运行了一个我不需要它们运行的宏。
非常感谢
迈克尔。
首先 - 请注意,Excel 中的大多数保护功能都不是安全功能。大多数很容易被破坏或绕过。它们可以阻止意外损坏 - 但不会阻止任何知道他们在做什么并且真的想看到你隐藏的碎片的人。
也就是说,这里有一些答案:
您已经涵盖了这一点,基本上是锁定单元格并隐藏所需的东西。
然后保护每张纸。
然后保护工作簿本身。
表格可以“非常”隐藏,这意味着只能通过 VBA 取消隐藏(它们不会出现在界面的取消隐藏列表中)。这只是通过一行 VBA 完成的,它需要至少运行一次以触发设置的更改,并且一旦运行就不需要保存在文件中(但这可能有助于记住要取消隐藏哪些工作表之后):
Sheets("Sheet1").Visible = xlVeryHidden
Run Code Online (Sandbox Code Playgroud)
为您的项目设置密码。在 VBA 编辑器中右键单击 中的模块,在选项卡上Project Explorer选择<ProjectName> Properties并设置密码Protection。
请注意,这些可以暴力打开。
我在这里假设你的意思是当有人打开Run Macro窗口时你不希望它们出现在宏列表中?
为此,使所需的宏成为 aPrivate Sub或 a Function,这使它们作为宏不可见,但仍允许它们被同一模块中的其他代码调用。
我不认为你不能阻止人们运行可见的宏,你不能为按钮分配隐藏的宏。
| 归档时间: |
|
| 查看次数: |
29571 次 |
| 最近记录: |