我开发了一个电子表格,用于执行各种计算,我们的员工将完成这些计算,然后将其分发给客户/竞争对手。为了保护电子表格的“知识产权”,我希望收件人完全无法查看用于返回结果的计算。
所有的计算/公式均在与表格“主体”分开的单独表格上。
我对他们失败的考虑包括:
Visible
在 VBA 编辑器中设置该属性,2 - xlSheetVeryHidden
但任何了解它们的人都可以轻松绕过这个问题。
密码保护工作簿/工作表 - 再次,快速谷歌搜索会找到一些非常简单的解决方法(已尝试、测试和验证)。
编写一个 VBA 脚本来破坏子上的任何计算/公式Worksheet_Activate()
,但在文件打开时简单地禁止宏就可以解决这个问题。
我甚至考虑过编写一些 VBA 来在文件打开时构建计算表,以强制用户启用宏,这意味着如果他们试图访问它们,它们可能会被销毁;然而,这本身不仅是一项艰巨的任务,而且有足够时间的人可以从 VBA 代码的“构建”子部分中提取所有数据。
即使在写这篇文章的时候,我也很快就失败了,但希望可能存在一种我不知道的方法,这个社区中的某个人偶然发现/必须自己实施。
注意:该文件必须以 Excel 格式分发给客户,不能是 PDF 格式等。
答案1
没有办法完全保护 Excel 文件。Excel 工作表保护甚至 VBA 代码保护应被视为防止意外更改而不是恶意更改的保障。互联网上充斥着支持恶意行为的免费和付费工具。
保证 Excel 文件安全的唯一方法是不让其他可能入侵的人访问它。