Dav*_*ave 21 security excel vba
我花了一些时间编写Excel宏,这对很多公司来说都是值得的.
如何锁定宏以防止人们看到源/转发给其他人?
谢谢
Bri*_*ett 21
当我们编写VBA代码时,通常希望最终用户看不到VBA宏代码.这是为了保护您的知识产权和/或阻止用户搞乱您的代码.请注意,Excel的保护能力远远不能被认为是安全的.在www上还有许多VBA密码恢复[工具].
要保护代码,请打开Excel工作簿,然后转到工具>宏> Visual Basic编辑器(Alt + F11).现在,从VBE中转到工具> VBAProject属性,然后单击保护页面选项卡,然后选中"从查看中锁定项目",然后输入您的密码并再次进行确认.执行此操作后,您必须保存,关闭并重新打开工作簿才能使保护生效.
(强调我的)
似乎是你最好的选择.它不会阻止那些决定窃取你的代码的人,但它足以阻止随意的海盗.
请记住,即使您能够分发代码的编译副本,也没有什么可以阻止人们反编译它.
sha*_*eef 12
就像您可以使用密码保护工作簿和工作表一样,您可以使用密码保护Excel中的宏不被查看(和执行).
在工作表上放置一个命令按钮并添加以下代码行:
首先,创建一个您想要保护的简单宏.
Range("A1").Value = "This is secret code"
接下来,单击工具,然后单击VBAProject属性 ...
单击工具,VBAProject属性...
输入密码两次
单击确定.
保存,关闭并重新打开Excel文件.尝试查看代码.
将出现以下对话框:
密码不受保护
您仍然可以通过单击命令按钮来执行代码,但不能再查看或编辑代码(除非您知道密码).可下载的Excel文件的密码"简单".
Run Code Online (Sandbox Code Playgroud)Dim password As Variant password = Application.InputBox("Enter Password", "Password Protected") Select Case password Case Is = False 'do nothing Case Is = "easy" Range("A1").Value = "This is secret code" Case Else MsgBox "Incorrect Password" End Select
单击工作表上的命令按钮时的结果:
密码不受执行限制
说明:宏使用Application对象的InputBox方法.如果用户单击"取消",则此方法返回False,并且没有任何反应(InputBox消失).只有当用户知道密码(再次"简单")时,才会执行密码.如果输入的密码不正确,则会显示MsgBox.请注意,用户无法在Visual Basic编辑器中查看密码,因为该项目不会被查看
您可以在http://hivelink.io上查看这个新产品,它可以让您正确保护敏感的宏.
Excel密码系统非常弱 - 只需使用基本的HEX编辑器,您就可以在2分钟内破解它.我不建议依靠它来保护任何东西.
我在这里写了一篇关于这个主题的大量文章:在Excel工作簿中保护代码?
归档时间: |
|
查看次数: |
104573 次 |
最近记录: |