VBA封装为DLL及调用.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VBA 封装为 DLL 及调用 使用程序: 1、Microsoft Office Excel 20032 、Microsoft Visual Basic 6.0 案例:在工作表的 C1 单元格得出 A1 单元格 +B1 单元格的 值。设计的 VBA 值。设计的 VBA 代码: Sub Test() On Error Resume Next Range(C1) = Cells(1, 1) + Cells(1, 2)End Sub 部分、使用 VB6.0 制作 DLL 文件 启动 VB6.0 ,新建一个 ActiveX DLL 工程: 用:在 VB中对 Excel 的引用 不同版本的 EXCEL 在“引用 窗口里显示的版本号也不同: EXCEL2000 ( Microsoft Office 9.0 )EXCEL2002 (Microsoft Office 10.0 用:在 VB ExcelXPEXCEL2003 (Microsoft Office 11.0 ) EXCEL2007 Microsoft Office 12.0 )EXCEL2010 ( Microsoft Office 14.0 ) EXCEL2013 ( Microsoft Office 15.0 ) 修改 ActiveX DLL 的工程名称和类模块名称 四、编 写代码:在代码窗口输入代码, 过程名称为 Test :Sub Test() On Error Resume NextDim VBt, YB On Error Resume Next Dim VBt, YB 定义变量 使VBt Set VBt = 使 VBt 表示为 EXCEL 对象 Set YB = VBt.ActiveSheet 使 YB 表示为 EXCEL 的当前工作表 注意要在对象前加上 YB 变量以表示是 EXCEL 当前工 作表的对象YB. Range(C1) = YB.Cells(1, 1).Value 作表的对象 + YB.Cells(1, 2).ValueEnd Sub 五、设置工程属性 (为使开发的程序更规范,可以对工程属 性加以描述【非必要设置,可以省略】 ): 六、保存工程、 测试、生成 DLL 文件: 1、保存工程:保存本工程以作为将 来修改代码和升级程序的需要; 2、测试工程:执行快捷工 具栏上的“启动”按钮,检查是否存在错误; 3、生成 DLL 文 件:制作 DLL 文件。 第二部分、调用 DLL 文件 、在 VBE 中调用 DLL 文件调用 DLL 文件,要分两步走: 先注册DLL,再引用DLL。1、注册DLL (使之放在可引用 的列表上): 注册 DLL 也可以使用代码来做,但那样比较复杂,也存在 很多问题,建议一般使用手工来注册。 (这里应该先设计好 DLL 文件放在硬盘的位置,因为后面引用DLL 文件的代码也应该是指向这个位置的。 ) DLL 文件放在硬盘的位置,因为后面引用 DLL 文件的代码也 应该是指向这个位置的。 ) 先打开 EXCEL ,再打开 Visual Basic 编辑器” 2、引用 2、引用 DLL (这样每次打开打开文件时, 就不必再去那个 引用列表里打个勾了)① DLL文件放在与EXCEL文件同 个文件夹内在 ThisWorkbook 个文件夹内在 ThisWorkbook 中添加如下代码: Private Sub Workbook_Open() 打开文件时加载要引用的 DLL 文件 shell Regsvr32 /s amp; Chr(34) amp; ThisWorkBook.path amp; \VBADLL.dllamp; Chr(34)End SubPrivate Sub 关闭文件之Workbook_BeforeClose(Cancel As Boolean) 关闭文件之 前卸载引用的 DLL 文件 shell Regsvr32 /s /u amp; Chr(34) amp; ThisWorkBook.path amp; \VBADLL.dllamp; Chr(34)End Sub/s 参数是防止出现确 认窗口; /u 参数为取消引用。 ② DLL 文件放在固定文件夹内,如果你有多个 XLS 文档需 要使用到同一个 DLL 文件,但这些 XLS 文档又不可能都与 DLL 文件放在同一个文件夹, 则需要将 DLL 文件放置到一个 固定文件夹,这样,只需要将上面的代码 ThisWorkBook.path amp; \VBADLL.dll 换成一个固定位 置即可。 注意:有时间可能出现某些错误,如提示“变量类型未定义” 等,可能是引用后改变了文件的位置或改变了文件的名称, 即使再重新再改回来也可能会出现这些问题,所以,在正确 注

文档评论(0)

wangyueyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档