首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何锁定excel宏(VB代码)

问如何锁定excel宏(VB代码)
EN

Stack Overflow用户
提问于 2018-06-06 15:28:12
回答 2查看 591关注 0票数 0

我有一个excel,里面写了很多宏,现在我们的安全团队回来了,报告了这个漏洞,因为精通技术的人可以修改或删除宏。因此,他们建议锁定宏,这样用户甚至都看不到它。实际上,我通过检查保护选项卡中的“锁定项目查看”来改变宏的安全性,这将锁定宏,但是这种方法的问题是我需要维护密码。是否有其他方法可以锁定宏以限制用户查看。我们会很感激你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-06 17:54:07

在保护宏不被其他用户编辑方面,最简单的方法当然是建议您使用的密码方法(从查看锁定项目)。

我知道还有一种方法可以阻止人们查看您的宏。这是一个叫做Unviewable+的工具。如果您是一个开发人员,希望向其他人分发带有代码的外接程序或工作簿,并且不希望他们访问或更改代码,则此工具可以很好地工作。

密码

优点:

  • 易于实现

缺点:

  • 需要记住密码。
  • 安全性较低,因为有一些方法可以绕过密码,使用一些您可以在网上找到的技术。

Unviewable+

优点:

  • 这是一种更安全的方法。

缺点:

  • 这不是免费的
  • 您需要有一个主版本,以便将代码保存在一个单独的文件中。在使代码不可见后,不可能逆转该过程,因此您希望只对最终用户可访问的文件应用此保护。
票数 1
EN

Stack Overflow用户

发布于 2021-04-23 22:06:37

Unviewable+ Pros:这是一种更安全的方法

我对Unviewable+的保护并不那么乐观。

任何“不可查看的VBA代码”保护只能在Excel编辑器中工作,并且VBA代码可以在Excel之外访问。

以下是关于如何查看受Unviewable+保护的VBA代码的10步指南。

步骤1.检测受Unviewable+保护的工作簿或Excel外接程序的文件格式。要做到这一点,请在记事本中打开该文件,并查看其前2个符号。如果第一个符号是"PK“-文件是XLSM格式,否则它是XLSB格式(复合OLE存储)。如果您的文件是XLSM格式,那么转到步骤4。

步骤2.如果您有无法查看的XLSB格式的外接程序,则需要将其保存为工作簿。为此,在Excel中打开外接程序文件,打开VBA (Alt+F11)并打开“立即窗口”(Ctrl+G)。在“立即”窗口中键入以下命令,然后按Enter (而不是"TheNameOfAddin.xlam“,使用Unvewable+保护的外接程序文件名):

代码语言:javascript
复制
Workbooks("TheNameOfAddin.xlam").IsAddin = False

然后键入下一个命令并按Enter:

代码语言:javascript
复制
Workbooks("TheNameOfAddin.xlam").SaveAs "ProtectedWbk.xlsb", 50

然后关闭Excel。由于上面的操作"TheNameOfAddin.xlam“Excel外接程序被保存为"ProtectedWbk.xlsb”工作簿中的默认保存位置的Excel,这很可能是您的文档文件夹。

步骤3.将.XLSB格式的工作簿转换为.XLSM格式的工作簿。要做到这一点,请在Excel中打开.XLSB文件,并使用file > SaveAs将其保存为XLSM格式(Excel启用工作簿),如“ProtectedWbk.xlsm”。关闭Excel。

步骤4.在Excel中创建一个新的空工作簿,并以XLSM格式保存它(例如,名为"NewWbk.xlsm")。在“Alt+F11”中打开VBAProject(NewWbk.xlsm)并向项目中添加一个新模块(右击“”资源管理器窗口,然后单击“插入->模块”按钮)。保存工作簿。关闭Excel。

步骤5.将新的工作簿重命名为具有zip扩展名的文件,这样:"NewWbk.zip“用不可查看的VBA代码将工作簿从"ProtectedWbk.xlsm”重命名为像"ProtectedWbk.zip“这样的压缩文件。

步骤6.在Windows中打开 ProtectedWbk.zip,如果您看到一个名为"vbaProject.bin“的"bin”文件,则转到名为"xl“的文件夹中,然后将其解压缩到磁盘上。如果您看到两个名为"vbaProject.bin“和"printerSettings.bin”的"bin“文件,那么将磁盘上的"printerSettings.bin”文件解压缩,并将解压缩文件从"printerSettings.bin“重命名为"vbaProject.bin”。

步骤7.在Windows中打开 NewWbk.zip,然后转到"xl“文件夹,用您在步骤6上解压的"vbaProject.bin”覆盖"vbaProject.bin“。

步骤8. (如果您没有安装LibreOffice ),然后从他们的官方网站(链接到下面)下载并安装在您的计算机上。

https://www.libreoffice.org/download/download/

步骤9. Open LibreOffice Calc.在加州的NewWbk.zip打开“LibreOffice”。

步骤10.遵循路径-- LibreOffice Calc主菜单>工具>宏>编辑宏。打开"NewWbk.zip“目录,观察”受保护“文件中的所有VBA代码。

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

https://stackoverflow.com/questions/50724167

复制
相关文章

相似问题

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