如何保护Excel文件的安全,以防止表单和代码被复制?

时间:2018-07-19 16:29:40

标签: excel vba excel-vba decompiler copy-protection

我有一个具有表单和宏的Excel文件。 我会将这个Excel文件提供给用户。 但是,必须保护表格和代码不被复制。 我想将Excel宏分解为DLL,以便无法恢复VBA代码。

您知道是否可以从DLL中恢复原始的VBA代码?

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

谢谢

2 个答案:

答案 0 :(得分:2)

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

要保护您的代码,请打开Excel工作簿,然后转到“工具”>“宏”>“ Visual Basic编辑器”(Alt + F11)。现在,从VBE中转到“工具”>“ VBAProject属性”,然后单击“保护”页面选项卡,然后选中“锁定项目以防止查看”,然后再次输入密码进行确认。

答案 1 :(得分:1)

您可能很快就会发现,很多人会建议您根本就不要在Excel中构建需要安全的应用程序,但是,我概述了您可以做的一些事情,以帮助保护您的代码。

您可能会考虑结合使用这些项目,以最好地保护代码。 在执行这些操作之前,请始终对代码进行备份,否则可能会导致永久丢失代码!

  1. 密码保护VBA项目(如前所述。)
  2. 添加代码混淆功能(我之前使用过this link。尽管使用过,但是您仍需要对其进行测试。它基本上会对输入的变量运行find-Replace)
  3. 使用诸如Unviewable+之类的保护程序(可能有点贵,我承认我仍然可以访问该程序锁定的代码)
  4. 使用另一种方法使您的VBA项目“无法查看”(我使用过This Method,甚至编写了自己的代码来自动实现该方法)
  5. 按照您的建议进行操作,并将VB代码编译为从Excel文件调用的DLL(这应该“隐藏”用户的代码,但还要求他们具有多个文件才能使用电子表格)
  6. 您还可以password protect the entire workbook。这会加密文件中的VBA代码。 (但是,您提供密码的用户可以轻松删除该密码,从而再次将代码清楚地存储。) [编辑:您希望将其与项目1或3结合使用,以便用户可以打开文件并使用它,但仍然无法访问代码]