打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel?VBA的封装,加密

Excel VBA的封装,加密

(2010-04-24 23:34:11)
对想发布自己的Excel VBA的开发者来说,Excel VBA本身不提供VBA代码的加密,封装。目前比较最可靠的Excel VBA代码加密的方法,就是把VBA代码编译成DLL(动态链接库文件),在VBA中调用,从而实现VBA代码的加密,封装,方便和Excel文件整合发布出去。DLL文件基本没法被破解,除此之外其他的VBA加密方法,都可以被轻易破解。用户只需要你的Excel文件,和这个dll文件就够了,不必安装其他任何程序。
 
编译成DLL文件其实很简单。机子上安装Visual Basic 6.0就可以编译成dll文件了,Visual Basic .Net反倒有点麻烦。Visual Basic通过OLE(对象链接引擎)技术调用Excel以及其中的对象。
 
总的来说,VBA代码只要做一些简单修改就可以了。主要是对Excel对象的引用,不然VB不能识别vba代码中的对象。比如如下的VBA代码
windows(workbook1).activate
range("L50")=1
直接放进VB中编译成Dll就会有问题,因为VB不能直接识别range对象。
需要添加几行简单的代码来告诉vb怎么引用excel中的这些对象:
dim xlapp as excel.applicatiion
dim xlbook as excel.workbook
dim xlsheet as excel.worksheet
set xlapp=getobject(,"excel.application)
set xlbook=getobject(xxx)
set xlsheet=xlbook.worksheets(1)
然后就照搬你原有的vba代码,但是前面加上对象引用:
xlsheet.range("L50")=1
 
对VBA代码做这样修改,在VB中调试通过,就可以成功的把多个sub子程序全部编译封装在一个单独的DLL文件了。以后直接在VBA中引用这个DLL文件中的各个sub子程序。原来大段的VBA代码全部被封装在DLL文件中,对用户不可见。
 
开发者还可以在程序运行前显示软件的版权信息,设置密码。因为这些也封装在DLL文件中,所以用户没法破解。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VB.Net编写可在VBA及VB6中调用的DLL
VBA代码封装助手(永久免费)
VB封装Excel_VBA成DLL技巧
VBA封装为DLL及调用
教程 | 初识封装:从VBA到DLL
EXCEL实用程序:A表对应数据写B表
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服