【20170929】- 你会使用VB封装自定义函数吗?

-回复 -浏览
楼主 2019-01-16 06:55:19
举报 只看此人 收藏本贴 楼主


        前几期中为大家介绍了如何快速保存微信里面的图片,想了解详情的请移步:【微信技巧】- 如何快速保存微信里面的图片?在文章末介绍了我编写的一个小程序,那时还没有完成,通过如下动态图即可知道小程序如何使用:



        终于在昨晚把该小程序上传到SUT学习交流群中,需要的小伙伴可以下载哦。



        好了,前几天SUT学习交流群刚好有小伙伴问到关于VB6.0封装的问题,因VBA我都是完全自学的,所以VB封装我也没玩过,所以这几天就抽空学习一下如何使用VB6.0进行封装。



        今天封装的自定义函数是20170321那天发送的图文教程案例,请移步【Excel VBA】- 使用自定义函数自动生成序列号进行学习。那有些小伙伴就要问了,为什么要封装呢?代码封装主要有以下几个用途:

        1 便于传播;发送给用户一个dll文件即可,用户使用Regsvr32.exe注册即可,方便使用;

        2 便于作者维护;如果发送给用户VBA代码,用户可能随便改动,导致作者维护起来很麻烦;

        3 代码更加安全;其实前面有写一篇文章,为大家介绍如何尽可能的保护自己的VBA代码,请移步【VBA技巧】- 如何尽可能的保护VBA代码?进行学习。其实代码安全都是相对的,没有绝对的安全。最多就是增加别人的Crack成本。一般而言,代码根本无需保护,高手根本不Care我们写的代码。


        很多高手从编写VBA代码到开始使用VB进行封装,但VB都是十几年前的产品了,最大的缺点就是不支持64位,所以很多人开始转战VSTO(Visual Studio Tools for Office)或者使用XLL进行代码封装。既然都是淘汰的产品,为什么我还要介绍呢?因为通过VSTOXLL进行封装需要另外学习一门编程语言VB.Net、C#或C++等等,对很多非计算机专业的小伙伴来说比较难,所以今天介绍如何使用VB 6.0进行封装。



        在开始封装之前需要安装VB 6.0程序(请复制下载地址到浏览器:http://pan.baidu.com/s/1dFxUIv3)。Win10也是可以安装的,只不过在安装结束快结束的时候会一直卡在更新系统那里,其实此时VB6.0企业版已经安装完毕,可以使用任务管理器直接结束进程即可。虽然此时会弹出如下错误提示:



        点击【确定】后,VB 6.0也就安装完毕了。此时在开始菜单即可找到VB6.0中文版,如下图所示:



        好了,接下来就是封装自定义函数的过程了,具体步骤如下:

        1 打开VB 6.0,打开后的主界面如下:



        2 选择上图中的ActiveX DLL,点击打开,打开的界面如下图所示:



        3 把【自动生成序列码】的Excel文件中的VBA代码复制到VB 6.0中,并适当修改,修改后的代码如下图所示:



        4 修改工程名称为【自动生成序列码】,修改类Class名称为【clsNumber】,保存工程到指定目录,例如桌面下的【自动生成序列码】文件夹下,具体演示如下:



        5 引用Office和Excel类库,具体操作方法如下:



        PS:因为Office 2016类库文件路径的改变,可能在引用项里并没有找到Microsoft Office ×.× Object Library,这里需要从"C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\OFFICE16\MSO.DLL"进行加载,这里就不麻烦了,所以直接使用Office 2013进行演示;


        6 编译DLL,具体操作如下图所示:



        7 加载和使用DLL,具体操作如下图所示:



        8 卸载DLL;如果不希望继续加载到Excel,可以通过如下方法进行卸载,详见动态图:



        虽然在动态图的最后,刷新函数还显示结果,但关闭Excel后,在重新打开Excel,此时再刷新函数,会提示#NAME?



        好了,今天的VB封装就到这里了,如果大家在学习过程中遇到任何问题,欢迎加群(QQ群:615356012交流,需要完整代码的小伙伴可以在公众号回复“20170929”得到哦,欢迎下载学习^_^


SUT事务所 - 节约您的时间! 

Steven

90后小鲜肉

技术咖 效率控

金融机构 资深技术

探索新鲜事物 体验社会万象

站在不同群体看世界

QQ群:615356012

『关注我们 阅读原文 精彩无限

按住二维码 点击扫码关注

我要推荐
转发到