如何保护 excel 文件的安全,使表单和代码不会被复制?

how to secure an excel file so that the form and code is secure against copying?

我有一个包含表单和宏的 Excel 文件。 我会把这个 Excel 文件给用户。 但是,必须防止表格和代码被复制。 我想将 Excel 宏分解成 DLL,这样 VBA 代码就无法恢复了。

你知道我们是否可以从 DLL 中恢复原始 VBA 代码吗?

您还有其他防止复制的想法吗?

谢谢

您可以为 VBA 项目添加密码... http://www.ozgrid.com/VBA/protect-vba-code.htm

要保护您的代码,请打开 Excel 工作簿并转到工具>宏>Visual Basic 编辑器 (Alt+F11)。现在,从 VBE 中转到“工具”>VBA“项目属性”,然后单击“保护”页面选项卡,然后选中 "Lock project from viewing",然后输入您的密码并再次确认。

您可能很快就会发现,许多人会建议您不要在 Excel 中构建需要安全的应用程序,但是,我概述了一些您可以按顺序执行的操作帮助保护您的代码。

您可以考虑结合使用这些项目以最好地保护代码。 在做这些事情之前一定要备份你的代码,否则你可能会永久丢失它!

  1. 密码保护VB一个项目(如前所述。)
  2. 添加代码混淆(我以前用过this link。不过你需要在使用后测试你的代码。它基本上对你输入的变量运行查找替换)
  3. 使用保护程序,例如 Unviewable+(可能有点贵,我承认我仍然能够访问被该程序锁定的代码)
  4. 使用另一种方法使您的VB一个项目"Unviewable"(我已经使用This Method甚至编写了自己的代码来自动实现该方法)
  5. 按照您的建议将 VB 代码编译成从您的 Excel 文件调用的 DLL(这应该 "hide" 来自用户的代码,但它也要求他们拥有多个文件以便使用您的电子表格)
  6. 您还可以 password protect the entire workbook。这会加密文件中的 VBA 代码。 (但是,您向其提供密码的用户可以轻松删除该密码,从而再次清楚地存储代码。) [编辑:您希望将此与项目 1 或 3 组合,以便用户可以打开文件并使用它但仍然无法访问代码]