打开APP
userphoto
未登录

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

开通VIP
vba封装成dll的要点

vba封装成dll的要点

(2010-01-29 16:05:59)
标签:

vba

dll

封装

it

分类: 电脑知识

在vb中,修改“工程”名称和“类模块”名称为需要的名称。本例中,工程修改为TestDLL,类模块修改为Test。
引用Microsoft Office 11.0 Object Library和Microsoft Excel 11.0 Object Library。
Sub mySub(EApp As Excel.Application, r As Long, c As Integer)
    Dim wb As Excel.Workbook, sh As Excel.Worksheet
    Set wb = EApp.ThisWorkbook
    Set sh = wb.ActiveSheet
  sh.Cells(r,c)="这是测试文本"
  '其他的代码
End Sub

在Excel中,在VBA中要引用刚才生成的TestDll.dll。
新建一个模块,在其中定义一个类变量T:
Public T As New TestDll.Test

Sub AAA()
   On Error Resume Next
   T.mySub Application, 3, 7
End Sub

至此,可以在Excel中执行宏AAA,并会在(3,7)单元格得到字符串"这是测试文本"。

'====加载与卸载引用的语句========================================================
shell "Regsvr32 /u /s " & Chr(34) & ThisWorkBook.path & "\test.dll"& Chr(34) '卸载引用的Dll
shell "Regsvr32 /s " & Chr(34) & ThisWorkBook.path & "\test.dll"& Chr(34) '加载引用的Dll
/s 表示不出现对话框

'=========================================================
怎样去掉"工程-引用"中曾经引用的自制的DLL历史记录?

在注册表的 HKEY_CLASSES_ROOT\TypeLib\ 分支中查找“数据”等于“Test”(需要删掉的历史记录),然后会找到一个键值,该键值的数据等于“Test”,看看这个分支下面的数据,是否包含你 DLL的位置等信息,如果确定。则删除这个键值所在HKEY_CLASSES_ROOT\TypeLib\下的{xxxxxxxx-xxxx-xxxx- xxxx-xxxxxxxxxxxx}分支。(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx根据你的实际情况是不同的16 进制)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VB封装Excel_VBA成DLL技巧
VBA封装为DLL及调用
VBA控件引用如何注册,这是一个很实用的工具,不要错过
Excel 文档执行完后删除自己
VBA常用代码解析(第七讲)
怎么将多个具有相同模板的excel表格汇总成一个?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服