ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: baomaboy

[原创] COM加载宏封装自定义函数并全自动安装最简实例

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-6-7 14:34 | 显示全部楼层

回复 200楼 wxhnr 的帖子

本帖已被收录到知识树中,索引项:插件开发
不在vba,在vb6可以用吗?引用5.3后 出现新错误 运行时错误 要求对象 错误定位在dll文件的路径上 路径确认没错

TA的精华主题

TA的得分主题

发表于 2011-6-7 14:42 | 显示全部楼层
原帖由 baomaboy 于 2011-6-7 14:34 发表
不在vba,在vb6可以用吗?引用5.3后 出现新错误 运行时错误 要求对象 错误定位在dll文件的路径上 路径确认没错


只在VBA里用过

TA的精华主题

TA的得分主题

发表于 2011-6-7 14:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
不过这个引用应该是针对特定的文件的,比如有三个文件:aaa.xls,bbb.xls,ccccc.xls,假如你在aaa.xls里添加了引用5.3,难道打开bbb.xls或者ccccc.xls会自动引用5.3吗?凭感觉好像不行吧!

[ 本帖最后由 wxhnr 于 2011-6-7 15:58 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-6-7 15:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
刚试了一下,用VB6,不需要引用什么MVBFE5.3就可以为工作薄添加引用,下面这个例子加的是我自己临时写的类库

Private Sub Command1_Click()

    On Error GoTo refsadderr
   
    Dim xlapp As Object
    Dim wbk As Object
   
    Set xlapp = CreateObject("excel.application")
    Set wbk = xlapp.workbooks.open(App.Path & "\book3.xls")
   
    wbk.vbproject.References.AddFromFile App.Path & "\工程1.dll"  '运行前先用Regsvr32注册
   
    wbk.Close True
   
    Set wbk = Nothing
   
    xlapp.quit
   
    Set xlapp = Nothing
   
    MsgBox "添加成功"
   
    Exit Sub
   
refsadderr:

    wbk.Close True
   
    Set wbk = Nothing
   
    xlapp.quit
   
    Set xlapp = Nothing
   
    MsgBox "添加失败"
End Sub

运行后重新打开Book3.xls发现"工程1.Class1"这个类已经能在Book3.xls里定义新对象了

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-6-7 15:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复 204楼 wxhnr 的帖子

谢谢 wxhnr 提供这么好的示例,能试试vb6里给自己添加引用(不是给工作薄添加引用)行不?我试没成功。

TA的精华主题

TA的得分主题

发表于 2011-6-7 16:11 | 显示全部楼层
干吗要在VB6里添加引用呢?编译成EXE了还能添加吗?

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-6-7 16:30 | 显示全部楼层
原帖由 wxhnr 于 2011-6-7 16:11 发表
干吗要在VB6里添加引用呢?编译成EXE了还能添加吗?

我倒是没有非想在vb里引用,我是看 fecmen 是这个意思,好像他并不是给工作薄引用,而是给exe引用,
原帖由 fecmen 于 2011-6-6 22:30 发表
不知VB里是否有如下用法,我声明了却找不到对象,需要引用什么吗?:
Dim ref As Reference  
On Error Resume Next  
Set ref = References.AddFromFile(CurrentProject.Path & "\ClsFindString.dll")

意思是编译之前添加(和工作薄添加一样,就是省去手工引用的步骤),添加好了再编译。

TA的精华主题

TA的得分主题

发表于 2011-6-9 11:14 | 显示全部楼层
我的Excel加载宏管理器快出炉了,因本人水平有限导致一些小问题困难着我影响进度(如在调试窗口中运行列表显示没问题,程序一编译出来就出问题),虽然有些仍然没有搞明白,但还是顺利解决了。最后的收尾工作尚未结束,先拿出图来晒晒吧。目前主要在代码规范、容错处理、流程设计上花费不少时间!
   应了一句话,慢工出细活吧。

[ 本帖最后由 fecmen 于 2011-6-9 11:20 编辑 ]
未命名.JPG

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-6-9 11:44 | 显示全部楼层

回复 208楼 fecmen 的帖子

很有些专业的味道啊,恭喜 fecmen 。

TA的精华主题

TA的得分主题

发表于 2011-6-9 13:01 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请把你们讨论的东西做个汇总,总结吧,这样看到清楚明白
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-23 22:56 , Processed in 0.050199 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表