打开APP
userphoto
未登录

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

开通VIP
Excel VBA封装为Dll的例子、方法与总结【逐步完善中...】

VBA封装为Dll的例子、方法与总结【逐步完善中...】 [复制链接]

制作DLL时,ThisWorkBook中的代码封装方法如下:
1、打开VB6,新建ActiveX DLL。修改“工程”名称和“类模块”名称为需要的名称。本例中,工程修改为TestDLL,类模块修改为Test。
2、建立引用。一般需要引用Microsoft Office 11.0 Object Library和Microsoft Excel 11.0 Object Library。如果VBA代码中还有其他引用,在VB中也要对他们引用。
3、这一步就是具体封装代码了。
在刚才建立好的TestDLL中,将代码放入Test类模块中。
如封装ThisWorkBook中的Open事件:
Sub wbk_open(EApp As Excel.Application, wb As Excel.Workbook, sh As Excel.Worksheet)
'--VBA中需要封装的主体代码
End Sub
其中VBA中的代码为事先做好的要封装的代码,如下面这个例子:
'打开工作薄后在当前的工作表A1中输入Test
Private Sub workbook_open()
    Cells(1, 1) = "Test"
End Sub
封装为DLL的代码为:
Sub wbk_open(EApp As Excel.Application, wb As Excel.Workbook, sh As Excel.Worksheet)
    Cells(1, 1) = "Test"
End sub
现在在VB6中生成Dll,到此就完成封装了。
4、在VBA中使用封装的代码
首先,在VBA中要引用刚才生成的TestDll.dll。
然后新建一个模块,在其中定义这样一个变量T:
Public T As New TestDll.Test
然后在ThisWorkBook的Open中引用TestDll中的Test,代码如下:
Private Sub workbook_open()
   On Error Resume Next
   T.wbk_open Application, ThisWorkbook, ActiveSheet
End Sub
这样每次打开Excel后,就在Sheet1的Cells(1,1)中输入“Test”。
当然,如果你想在第2张工作表的A1中输入Test,那么可以这样用:
Private Sub workbook_open()
   On Error Resume Next
   T.wbk_open Application, ThisWorkbook, Sheets(2)
End Sub

以上就是代码封装的全过程,需要注意的是变量的传递要互相对应。

上面示例中的封装代码是用3个变量传递的,如果只用1个变量传递,代码如下:
'封装为DLL的代码为:
Sub wbk_open(sh As Excel.Worksheet)
    Cells(1, 1) = "Test"
End sub
'ThisWorkBook中使用Dll的代码为
Private Sub workbook_open()
   On Error Resume Next
   T.wbk_open ActiveSheet
End Sub

Dll文件和Test文件,测试时请重新引用TestDll.dll文件:

KuUrBNQj.rar(9.68 KB, 下载次数: 1805)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VB封装Excel_VBA成DLL技巧
Excel VBA入门(九)操作工作薄
Excel 文档执行完后删除自己
VBA常用代码解析(第七讲)
超过指定日期打开工作簿则启动自杀程序
EXCEL加载宏制作攻略
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服