VBA封装为DLL及调用

VBA封装为DLL及调用

ID:42162144

大小:2.09 MB

页数:9页

时间:2019-09-09

VBA封装为DLL及调用_第1页
VBA封装为DLL及调用_第2页
VBA封装为DLL及调用_第3页
VBA封装为DLL及调用_第4页
VBA封装为DLL及调用_第5页
资源描述:

《VBA封装为DLL及调用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、VBA封装为DLL及调用使用程序:1、MicrosoftOfficeExcel20032、MicrosoftVisualBasic6.0案例:在工作表的C1单元格得出A1单元格+B1单元格的值。设计的VBA代码:SubTest()OnErrorResumeNextRange("C1")=Cells(1,1)+Cells(1,2)EndSub第一部分、使用VB6.0制作DLL文件一、启动VB6.0,新建一个ActiveXDLL工程:一、引用:在VB中对Excel的引用不同版本的EXCEL在“引用”窗口里显示的版本号也不同:EXCEL2000(MicrosoftOffice9.0)E

2、XCEL2002(MicrosoftOffice10.0),即ExcelXPEXCEL2003(MicrosoftOffice11.0)EXCEL2007(MicrosoftOffice12.0)EXCEL2010(MicrosoftOffice14.0)EXCEL2013(MicrosoftOffice15.0)三、修改ActiveXDLL的工程名称和类模块名称四、编写代码:在代码窗口输入代码,过程名称为Test:SubTest()OnErrorResumeNextDimVBt,YB'定义变量VBtSetVBt=GetObject(,"Excel.Application")'使

3、VBt表示为EXCEL对象SetYB=VBt.ActiveSheet'使YB表示为EXCEL的当前工作表'注意要在对象前加上YB变量以表示是EXCEL当前工作表的对象YB.Range("C1")=YB.Cells(1,1).Value+YB.Cells(1,2).ValueEndSub五、设置工程属性(为使开发的程序更规范,可以对工程属性加以描述【非必要设置,可以省略】):六、保存工程、测试、生成DLL文件:1、保存工程:保存本工程以作为将来修改代码和升级程序的需要;2、测试工程:执行快捷工具栏上的“启动”按钮,检查是否存在错误;3、生成DLL文件:制作DLL文件。第二部分、调用

4、DLL文件一、在VBE中调用DLL文件调用DLL文件,要分两步走:先注册DLL,再引用DLL。1、注册DLL(使之放在可引用的列表上):注册DLL也可以使用代码来做,但那样比较复杂,也存在很多问题,建议一般使用手工来注册。(这里应该先设计好DLL文件放在硬盘的位置,因为后面引用DLL文件的代码也应该是指向这个位置的。)  先打开EXCEL,再打开“VisualBasic编辑器”2、引用DLL(这样每次打开打开文件时,就不必再去那个引用列表里打个勾了)①DLL文件放在与EXCEL文件同一个文件夹内在ThisWorkbook中添加如下代码:PrivateSubWorkbook_Ope

5、n()'打开文件时加载要引用的DLL文件shell"Regsvr32/s"&Chr(34)&ThisWorkBook.path&"VBADLL.dll"&Chr(34)EndSubPrivateSubWorkbook_BeforeClose(CancelAsBoolean)'关闭文件之前卸载引用的DLL文件shell"Regsvr32/s/u"&Chr(34)&ThisWorkBook.path&"VBADLL.dll"&Chr(34)EndSub'/s参数是防止出现确认窗口;/u参数为取消引用。②DLL文件放在固定文件夹内,如果你有多个XLS文档需要使用到同一个DLL文件,

6、但这些XLS文档又不可能都与DLL文件放在同一个文件夹,则需要将DLL文件放置到一个固定文件夹,这样,只需要将上面的代码ThisWorkBook.path&"VBADLL.dll"换成一个固定位置即可。注意:有时间可能出现某些错误,如提示“变量类型未定义”等,可能是引用后改变了文件的位置或改变了文件的名称,即使再重新再改回来也可能会出现这些问题,所以,在正确注册及引用以后,最好不要再去修改这个DLL文件。如果出现问题,重新注册一次,保证注册的DLL文件的位置正确即可。二、新建一个模块,输入调用DLL文件程序的过程:SubDLLtest()DimABCAsNewVBAtest'定

7、义ABC为新类,即为DLL文件中的类模块VBAtestABC.Test'调用DLL中提供的过程,来完成原来在VBA中的功能,起到隐藏代码的效果SetABC=Nothing'释放类资源EndSub一、在工作表中运行DLLtest宏即可实现调用:综上所述,感觉封装DLL的主要步骤是:①在VB中引用EXCEL;②编辑代码(要在对象前面加上定义的EXCEL变量);③在VBE中引用该DLL文件;④在VBE的代码中调用DLL中的过程。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。