首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >锁定Microsoft Excel宏

锁定Microsoft Excel宏
EN

Stack Overflow用户
提问于 2011-07-20 19:11:14
回答 6查看 143.6K关注 0票数 24

我花了一些时间编写了一个Excel宏,它对许多公司来说都有潜在的价值。

我如何锁定宏,以防止人们看到源代码/转发给其他人?

谢谢

EN

回答 6

Stack Overflow用户

发布于 2011-07-20 21:42:59

Protect/Lock Excel VBA Code

当我们编写VBA代码时,通常希望VBA宏代码对最终用户不可见。这是为了保护你的知识产权和/或阻止用户摆弄你的代码。请注意,Excel的保护能力远远谈不上是安全的。上也有很多VBA密码恢复工具在出售

若要保护代码,请打开“Tools>Macro>Visual工作簿”,然后转到“Tools>Macro>Visual Basic编辑器(Alt+F11)”。现在,从VBE转到Tools>VBAProject属性,然后单击保护页面选项卡,然后选中“锁定项目查看”,然后输入您的密码并再次确认。完成此操作后,您必须保存、关闭并重新打开工作簿,以使保护生效。

(强调我的)

看起来是你最好的选择。它不会阻止人们决心窃取你的代码,但它足以阻止偶然的盗版。

请记住,即使您能够分发代码的编译副本,也没有什么可以阻止人们decompiling它。

票数 24
EN

Stack Overflow用户

发布于 2016-03-31 17:48:46

就像您可以对工作簿和工作表进行密码保护一样,您也可以对Excel中的宏进行密码保护,使其不被查看(和执行)。

在工作表上放置一个命令按钮,并添加以下代码行:

  1. First,创建要保护的简单宏。

Range("A1").Value = "This is secret code"

  • Next,单击Tools,然后单击VBAProject

依次单击工具、VBAProject属性...

  1. 在“保护”选项卡“”上,选中“用于查看的锁定项目”,然后输入两次密码。

输入两次密码

Excel单击OK.

  • Save,
  • close并重新打开

  • 文件。尝试查看代码。

将出现以下对话框:

密码受保护,不会被查看

您仍然可以通过单击命令按钮来执行代码,但您不能再查看或编辑代码(除非您知道密码)。可下载的Excel文件的密码是“容易”的。

  1. 如果要用密码保护宏不被执行,请添加以下代码行:

Dim password As Variant password =Application.InputBox(“输入密码”,"Password Protected")选择大小写密码大小写= False‘不做任何事情大小写is = "easy“范围(”A1“).Value=”这是密码“大小写否则MsgBox”不正确的密码“结束选择

单击工作表上的命令按钮时的结果:

密码被保护不会被执行

应用程序宏将使用Explanation:对象的InputBox方法。如果用户单击Cancel,此方法将返回False,并且不会发生任何操作(InputBox将消失)。只有当用户知道密码(再次“容易”)时,密码才会被执行。如果输入的密码不正确,则会显示MsgBox。请注意,用户不能在Visual Basic编辑器中查看密码,因为项目受到保护,不能被查看

票数 17
EN

Stack Overflow用户

发布于 2015-03-11 01:31:24

你可以在http://hivelink.io上查看这个新产品,它可以让你正确地保护你的敏感宏。

Excel密码系统极其脆弱--你只需使用一个基本的十六进制编辑器就可以在2分钟内破解它。我不建议依靠这个来保护任何东西。

我在这里写了一篇关于这个主题的长篇文章:Protecting Code in an Excel Workbook?

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6760981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档