文档之家

VB封装Excel宏代码的三个方法

  • 格式:doc
  • 大小:316.00 KB
  • 文档页数:7

下载文档原格式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB封装Excel_VBA成DLL技巧使用VB6.0在WinXP_sp2、Excel 2000环境下制作、测试通过。

一、启动VB6.0:

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

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

执行:“工程(P)”——“引用(N)”——选择所要引用的项目:如下图2

Excel 2000中:

Microsoft Excel 9.0 Object Library

Microsoft Office 9.0 Object Library

Excel 2003中:

Microsoft Excel 11.0 Object Library

Microsoft Office 11.0 Object Library

三、编写代码:

1、将工程默认名称“工程1”,改为“zygtest”,将类模块默认名称“Class1”,改为“zyg365”,

2、在类模块的代码编辑区写入代码:如下图3

模块名称为“hongtong”,代码如下

在VB中编写代码时:要注意以下声名

Dim XLAPP As Object

Set XLAPP = GetObject(, "Excel.Application")

代码中引用对象,如SHEET,Cell等,前面要加“XLAPP.”

(或按照Sub hongtong() 中的格式编写。)

Sub hongtong()

Dim excelApp As New Excel.Application

Dim excelWorkBook As Excel.Workbook

Dim excelWorksheet As Excel.Worksheet

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

Set excelWorksheet = 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中:

Private Sub 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中代码的模块:

Sub test()

Dim kk As New zyg365 'zyg365为VB中类模块名称:输入完New后,敲空格键,

'直接出现选择列表框,从中选择“zyg365”

'kk可任意命名

kk.hongtong 'hongtong为VB中要执行的模块的名称:输入完kk.后,

'直接出现选择列表框,从中选择“zyg365”

'为你的VB中的过程名称,从列表中选的

Set kk = Nothing '释放类资源

End Sub

另一个版本:

1、(本帖里)图1 就是vb6.0在桌面的图标,双击它

2、弹出窗口后,先选择ActiveX DLL(图2的红框),再点击打开(图2的蓝框)

3、起个名字(图3蓝色框内文字改为ABC)

4、先保存一下,桌面新建个文件夹,点击图3红框里的保存标志,弹出另存为对话框,选择桌面》双击刚刚建立的那个文件夹(图4蓝色框)》保存(图4红色框)》保存

5、写代码,模块里输入下面代码

Sub def()

Dim EL As Object

Set EL = GetObject(, "Excel.Application")

With EL.ActiveSheet

.Cells(1, 3) = .Cells(1, 1) & .Cells(1, 2)

End With

Set EB = Nothing

End Sub

(如图5所示)

6、点击文件(图5红色框),在出现的下拉菜单中点击生成工程1.dll(k)...》(默认保存位置)点击确定

至此,Dll就制作完成了

四、使用dll

1、新建一个excel,A1单元格输入"你",B1单元格输入"好"

2、打开VBE,工具》引用》浏览》找到刚刚创建的文件夹点击工程1.dll(图6)》点击打开》点击确定

3、插入一个模块,输入下面代码

Sub test()

Dim a As New ABC

a.def

Set a = Nothing

End Sub

4、运行一下代码,C1单元格出现"你好"

至此,一个由制作到使用dll的简单示例全部完成

用DLL封装VBA

本文用一简例来演示如何将一正常在VBA中运行的代码移植到VB制作的DLL中去,并介绍如何在VBA 中进行调用。这仅仅是最初级的介绍,希望能对此内容想了解的版友们一些帮助,

相关主题

  • vb操作excel及宏操作
  • vb调用excel方法大全
  • 用excel宏看账的操作

最新文档

  • 饭店包间名字大全
  • word无法创建工作文件,请检查临时环境变量
  • 自行车健身比赛开幕式讲话词
  • 2018乡村医生个人工作总结
  • MySQL测试题 SQL
  • 合勤NXC5200
  • 铁路集中箱空箱调度优化建模案例(案例2)
  • 微分几何教学大纲-复旦大学数学科学学院
  • 人教版九年级数学上册导学案:24.1.1_圆【精品】
  • (整容后办护照用)医院整容证明

玻璃钢生产厂家玻璃钢罗马柱雕塑制作美陈 商场 夏季自发光动物玻璃钢雕塑现货江苏玻璃钢花盆订购贵州主题玻璃钢雕塑供应商大型玻璃钢雕塑哪个好周口发光玻璃钢雕塑生产厂家便宜的玻璃钢雕塑加工厂甘肃玻璃钢龙雕塑厂家玻璃钢美猴王雕塑佛山玻璃钢雕塑批发滨州广场玻璃钢雕塑制作丹东厂家供应沈阳玻璃钢花盆商丘水景玻璃钢卡通雕塑福建玻璃钢广场雕塑南京玻璃钢花盆开发新疆玻璃钢海豚雕塑定制开业商场美陈布置武汉玻璃钢雕塑模具价格西宁玻璃钢雕塑定制长沙佛像玻璃钢雕塑优势最大的玻璃钢马雕塑佛山玻璃钢动物雕塑厂家现货新密玻璃钢仿铜雕塑生产中山玻璃钢雕塑制品厂玻璃钢竹子雕塑皮卡丘玻璃钢雕塑大型珠海热门玻璃钢面包雕塑福州齐安路玻璃钢雕塑厂家禅城玻璃钢人物雕塑欢迎前来咨询香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化