VBA封装为DLL及调用_第1页
VBA封装为DLL及调用_第2页
VBA封装为DLL及调用_第3页
VBA封装为DLL及调用_第4页
VBA封装为DLL及调用_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VBA封装为2LLS调用使用程序:1、 MicrosoftOfficeExcel20032、 MicrosoftVisualBasic6.0案例:在工作表的C1单元格得出A1单元格+B1单元格的值设计的VBA代码:SubTest()OnErrorResumeNextRange(HC1n)=Cells(1,1)+Cells(1,2)EndSub第一部分、使用VB6.0制作DLL文件一、 启动VB6.0,新建一个ActiveXDLL工程:二' 引用:在VB中对Excel的引用不同版本的EXCEI在“引用”窗口里显示的版本号也不同:EXCEL2000(MicrosoftOffice9.0)EXCEL2002(MicrosoftOfficelO.O)9卩tXCSlXiTOC\o"1-5"\h\zEXCEL2003(MicrosoftOfficel1.0 )EXCEL2007(MicrosoftOfficel2.0 )EXCEL2010(MicrosoftOffice14.0 )EXCEL2013(MicrosoftOfficel5.0 )三'修改ActiveXDLL的工程名称和类模块名称四、编写代码:在代码窗口输入代码,过程名称为Test:SubTest()OnErrorResumeNextDimVBt,YB‘定义变量VBtSetVBt二GetObject(,”Excel.Application”)’使VBt表示为EXCEL寸象SetYB二VBt.ActiveSheet1使YB表示为EXCE啲当前工作表'注意要在对象前加上YB变量以表示是EXCEL当前工作表的对象YB.Range(HC1H)=YB.Cells(1,1).Value+YB.Cells(1,2).ValueEndSub五、 设置工程属性(为使开发啲程序更规范,可以对工程属性加以描述【非必要设置,可以省略】):六、 保存工程、测试、生成DLL文件:1、 保存工程:保存本工程以作为将来修改代码和升级程序啲需要;2、 测试工程:执行快捷工具栏上啲“启动”按钮,检查是否存在错误;3、 生成DLL文件:制作DLL文件。第二部分、调用DLL文件一、在VBE中调用DLL文件调用DLL文件,要分两步走:先注册DLL再引用DLLo1、注册DLL(使之放在可引用的列表上):注册DLL也可以使用代码来做,但那样比较复杂,也存在很多问题,建议一般使用手工来注册。(这里应该先设计好DLL文件放在硬盘的位置,因为后面引用 DLL文件的代码也应该是指向这个位置的。)先打开EXCEL再打开uVisualBasic编辑器32M=d)辑凰fB①tfAai搭实畑运疔⑨工号应一萝缠岂色竺E用貼皿国_3・jJ町使円此£円亦瞬昨住(&•VDAPruj£tl7冈嚏10IQI¥T"W1■性Q数字裳32M=d)辑凰fB①tfAai搭实畑运疔⑨工号应一萝缠岂色竺E用貼皿国_3・jJ町使円此£円亦瞬昨住(&•VDAPruj£tl7冈嚏10IQI¥T"W1■性Q数字裳"钠41E4tLCKir輛肖L;&•LIOMEKl二椚ILDQtjs-tLmtAr^OLETWTffi*®・imA,*r<wT»nt*irTu.«NTTftFm*MS?.0lObjAEILibrirpVWMjwtWHtlperWHL如的:i<sviI.CffpeT齬IU何巧Fr旅皿门■・n5HWifrnriifrnriaattaop:玄标刚丄HI找到DLL文件存放的位置:匕[引囲>BL也QJ审诈V5&tct:TPtl lirrttiIP巧■>V,Is-£PZDHIhr*1/arilLdIWT耳&Qfcii¥U0tro»8rtf axu-HRvjtftr»fihf*&T3£xXJMULKfIfVSWAJC'lIwlbtrst仏七•><kV4«1OTVb-U!!■<!>Vntfat文悴名文悴名丈挥曲H3:丈挥曲H3:HilljPtluii(?AtaiAiiUftLui丽唯2引用DLL(这样每次打开打开文件时,就不必再去那个引用列表里打个勾了)DLL文件放在与EXCEL文件同一个文件夹内在ThisWorkbook中添加如下代码:PrivateSubWorkbook_Open()^T开文件时加载要引用的DLL文件sheH,,Regsvr32/sn&Chr(34)&ThisWorkBook.path&’\VBADLL.dll”&Chr(34)EndSubPrivateSubWorkbook_BeforeClose(CancelAsBoolean)^ 关闭文件之前卸载引用的DLL文件sheHHRegsvr32/s/uH&Chr(34)&ThisWorkBook.path&"\VBADLL.dH',&Chr(34)EndSub7s参数是防止出现确认窗口;/u参数为取消引用。DLL文件放在固定文件夹内,如果你有多个XLS文档需要使用到同一个DLL文件,但这些XLS文档又不可能都与DLL文件放在同一个文件夹,则需要将DLL文件放置到一个固定文件夹,这样,只需要将上面的代码ThisWorkBook.path&AVBADLL.dlP换成一个固定位置即可。注意:有时间可能出现某些错误,如提示“变量类型未定义”等,可能是引用后改变了文件的位置或改变了文件的名称,即使再重新再改回来也可能会出现这些问题,所以,在正确注册及引用以后,最好不要再去修改这个DLL文件。如果出现问题,重新注册一次,保证注册的DLL文件的位置正确即可。、新建一个模块,输入调用DLL文件程序的过程:SubDLLtest()DimABCAsNewVBAtest定义ABC为新类,即为DLL文件中的类模块VBAtestABC.Tesf调用DLL中提供的过程,来完成原来在VBA中的功能,起到隐藏代码的效果SetABC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论