保护Excel切片机

时间:2013-07-03 08:55:55

标签: excel excel-vba vba

我有一个我需要提供给客户的excel文件。它目前包含一个工作表,但可以轻松拥有更多。在工作表上有一个图表和一系列切片器。

我遇到的问题是,如果我把它交给客户,他们会看到底层代码,可能不需要我们的服务。

如何保护工作表/文件,只允许他们查看数据并操作切片而不会看到任何后台工作?

他们必须无法保存副本,访问SQL代码或保存更改。

谢谢,

JJ

3 个答案:

答案 0 :(得分:0)

您可以使用保护选项固定excel,以便人们无法编辑对象,只能选择非锁定项目。您还可以使用密码保护vba并强制打开电子表格的只读 http://office.microsoft.com/en-gb/excel-help/password-protect-worksheet-or-workbook-elements-HP010078580.aspx

有许多可用的保护选项,但您可以做的最好的事情是引用包含数据的报告/网页,而不是直接进行数据库连接。这将减轻许多安全风险,同时也会对您的数据库进行黑盒子化。



<强> IMHO

只有将电子表格锁定到足以防止出现愚蠢的错误 - 再加上您的数据是黑盒子,他们会得到一张可用的电子表格,并且比他们觉得你是在积极地尝试从他们那里收集东西时更加快乐。他们可能在您的电子表格中运行,但对他们的信任扩展将有助于阻止这种行为,并且在一天结束时,如果有人想要真正收获您的IP,他们将会这样做,无论如何你有很多控制措施。

答案 1 :(得分:0)

你也可以尝试在VBAProject窗口保护VBA,如下所示:

Properties VBA

并输入密码

VBA_Password

这样,用户可以操作工作表而无需查看代码,除此之外,阻止您的工作表,如@StephLocke所说。

您的工作簿总是容易受到攻击,但您可以降低破坏代码的风险。

PS。我的Excel是西班牙语,但选项在同一个地方。

答案 2 :(得分:0)

可以保护工作表,并且仍然允许与切片器(仅切片器)进行交互。

  1. 通过右键单击切片器并选择“大小和属性...”,然后取消设置“锁定”属性,将每个切片器的属性设置为“未锁定”。
  2. 以类似的方式保护所有其他工作表元素,包括单元格和数据透视图(设置其“锁定”属性)。
  3. 最后,通过“审阅”->“保护工作表”保护工作表,然后选择“使用自动筛选”作为选择“允许该工作表的所有用户使用”的唯一操作。

您还可以授予this answer