VB封装Excel_VBA代码为Dll

VBA 专栏收录该内容
8 篇文章 0 订阅
VB封装Excel_VBA代码为Dll
VB封装Excel_VBA代码为Dll VB封装Excel_VBA成DLL技巧 使用VB6.0在WinXP_sp2、Excel2000环境下制作、测试通过一、启动VB6.0 VB封装Excel_VBA成DLL技巧 使用VB6.0在WinXP_sp2、Excel2000环境下制作、测试通过

msdn :http://www.newxing.com/Code/tool/21.html

 VB下载地址http://www.downza.cn/soft/12196.html

一、启动VB6.0:

  执行:“文件夹(F)”——“新建(N)”——选择“ActiveXDLL”,如下图1:



二、引用:VB中对Excel的引用 

执行:“工程(P)”——“引用(N)”——选择所要引用的项目:如下图2
Excel 2000中:
MicrosoftExcel 9.0  Object Library
Microsoft Office 9.0  ObjectLibrary
Excel2003中:
Microsoft Excel 11.0  ObjectLibrary
Microsoft Office 11.0  ObjectLibrary

tips:

1、点一下引用界面,输入DLL文件的第一个字母可快速定位、查找该库

2、当鼠标选取某一库文件时,下边显示定位信息,根据地址进行注册与注销。


三、编写代码:
  1、将工程默认名称“工程1”,改为“zygtest”,将类模块默认名称“Class1”,
改为“zyg365”,
  2、在类模块的代码编辑区写入代码:如下图3
  模块名称为“hongtong”,代码如下

  在VB中编写代码时:要注意以下声名
Dim XLAPP As Object
Set XLAPP = GetObject(,"Excel.Application")
代码中引用对象,如SHEET,Cell等,前面要加“XLAPP.

特别注意(曾经困扰有段时间):不可再进行Dim rng AsxlApp.range,再对rng=5,会产生用户定义类型错误,直接引用range即可。如:xlapp.range=5。
   (或按照 Sub hongtong()中的格式编写。)

Sub hongtong()  

   Dim excelAppAs New Excel.Application

   DimexcelWorkBook As Excel.Workbook

   DimexcelWorksheet As Excel.Worksheet

   SetexcelWorkBook = excelApp.Workbooks.Add '创建新工作簿

   SetexcelWorksheet = excelWorkBook.Sheets(1)

  excelWorksheet.Cells(2, 3) = "宏通"    '写入数据

  excelWorksheet.Cells(3, 4) = "zyg365"   '写入数据

  excelApp.Visible = True      '显示excel界面,用于调试

  excelWorkBook.PrintPreview    '打印预览

  excelWorkBook.PrintOut       '打印输出

  excelWorkBook.Saved = True

  'excelWorkBook.Close         '关闭工作薄

  'excelApp.Quit              '退出excel

End Sub




四、工程属性设置:(可以不设置,本步骤可以省略)

  为了使自己开发的程序更规范,可以对本工程的属性加以描述:如下图4
  执行:“工程(P)”——“工程1属性(E)…”(当前工程中为:“zygtest属性(E)…”)


五、保存工程、测试、打包生成Dll文件:
1、保存:单击保存,保存到一个文件夹中;
2、测试:执行工具栏上的“启动”(右向的三角图标)按钮,检查是否存在错误;
3、打包生成Dll文件:
  执行:“文件(F)”——“生成工程1.dll(K)”(当前工程中为:“zygtest.dll”),
重命名为“zyg.dll”,至此,Dll文件制作结束。

六、在Excel_VBA工程中引用、调用zyg.dll文件:如下图5




1、引用zyg.dll文件:

  首先在Excel的VBE窗口中,执行“工具(T)”——“引用(R)”——在“引用”对话框中,
单击“浏览(B)…”按钮,找到“zyg.dll”文件——“确定”即可。
  在工作簿事件中,编写代码:工作簿启动时,注册“zyg.dll”控件,工作簿关闭时,反注册
“zyg.dll”控件:

在ThisWorkbook中:

regsvr32 /u /s C:\Users\Administrator\Desktop\kaoqindll\kaoqin.dll

PrivateSub Workbook_Open() '注册、引用zyg.dll
  Shell "Regsvr32 /s " &VBA.Chr(34) & ThisWorkbook.Path & "\zyg.dll" &VBA.Chr(34), vbHide

End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)'反注册zyg.dll
  Shell "Regsvr32 /u /s " &VBA.Chr(34) & ThisWorkbook.Path & "\zyg.dll" &VBA.Chr(34), vbHide
End Sub


2、编写调用zyg.dll中代码的模块:
Subtest()
  Dimkk As New zyg365  'zyg365为VB中类模块名称:输入完New后,敲空格键,
                 '直接出现选择列表框,从中选择“zyg365”
                 'kk可任意命名
  kk.hongtong  'hongtong为VB中要执行的模块的名称:输入完kk.后, 
           '直接出现选择列表框,从中选择“zyg365”
           '为你的VB中的过程名称,从列表中选的
  Setkk = Nothing '释放类资源
EndSub
      

  • 3
    点赞
  • 0
    评论
  • 16
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:技术工厂 设计师:CSDN官方博客 返回首页

打赏作者

sjpljr

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值