ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-30 12:39 | 显示全部楼层
本帖已被收录到知识树中,索引项:插件开发
原帖由 fecmen 于 2011-5-30 12:25 发表
不要怪我老是追问,是楼主说的话太高端了!说操作注册表是备用功能,那楼主的删除加载宏列表项的主要功能是怎么实现的?
我问的并不是注册DLL或注销DLL的问题(这个我已经完美解决了),而是注册DLL后,其里面 ...

要说多少遍才行啊,
获取加载宏列表集合+移除加载宏列表项(AddinList+RemoveItem),

就如你给我提示说用api注册比较好,我不就可以查一下api注册方法,最后不是用api替换了regsvr吗。

TA的精华主题

TA的得分主题

发表于 2011-5-30 13:03 | 显示全部楼层
楼主能否分享下你的RemoveItem方法?或者说个思路,你是怎么实现移除加载宏列表项目的?多个实现的思路,能开阔人的视野嘛。

TA的精华主题

TA的得分主题

发表于 2011-5-30 14:55 | 显示全部楼层
我猜楼主在添加DLL到加载宏列表时用的是Regsvr32+AddIns.Add+API操作注册表(备用),从加载宏列表中删除时只用到了Regsvr32+API操作注册表,因为没有AddIns.Delete、AddIns.Remove.....这类方法。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-30 15:56 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 wxhnr 于 2011-5-30 14:55 发表
我猜楼主在添加DLL到加载宏列表时用的是Regsvr32+AddIns.Add+API操作注册表(备用),从加载宏列表中删除时只用到了Regsvr32+API操作注册表,因为没有AddIns.Delete、AddIns.Remove.....这类方法。

确实如此,addins中没有delete并不是微软忘了,而是不安全,如果delete其他的正被引用的dll(包括列表)就会出错,删除自身则更是不可能的(就像VB做的exe文件不能删除自身一样)所以微软找不到一个添加delete方法的理由。
RemoveItem是google到的一个老外写的api封装类,其原来作用并不是用于excle的,我只是借用了一下(原理还是操作注册表)只是个封装函数,可以非常方便的应用到其他有类似操作的地方。

[ 本帖最后由 baomaboy 于 2011-5-30 16:26 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-5-31 16:02 | 显示全部楼层
当文件路径包括空格时VB做的自注册无法实现,如何解决啊?

另外加载宏列表中的Internet Assistant VBA 如何自动打上对勾呢?谢谢

[ 本帖最后由 byl2005 于 2011-5-31 16:45 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-31 17:42 | 显示全部楼层
原帖由 byl2005 于 2011-5-31 16:02 发表
当文件路径包括空格时VB做的自注册无法实现,如何解决啊?

另外加载宏列表中的Internet Assistant VBA 如何自动打上对勾呢?谢谢

VB附件是指的哪一个?如果是fecmen做的可能还是由他来解释比较好,虽然看不到代码但基本也能猜到。
Internet Assistant VBA 的问题可以用下面附件解决。一个vba的方式一个注册表的方式。

[ 本帖最后由 baomaboy 于 2011-5-31 17:44 编辑 ]
01.jpg

自动加载.rar

75.71 KB, 下载次数: 78

TA的精华主题

TA的得分主题

发表于 2011-5-31 20:41 | 显示全部楼层
原帖由 baomaboy 于 2011-5-31 17:42 发表

VB附件是指的哪一个?如果是fecmen做的可能还是由他来解释比较好,虽然看不到代码但基本也能猜到。
Internet Assistant VBA 的问题可以用下面附件解决。一个vba的方式一个注册表的方式。


呵呵,本来不想凑热闹了。我试过我的注册程序,不存在注册不了的问题。我就不解释了。再次附上我的附件。

[ 本帖最后由 fecmen 于 2011-5-31 20:44 编辑 ]

经优化后的DLL函数注册程序.rar

17.6 KB, 下载次数: 81

附件与我在64楼上传的一样,未做修改。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-31 22:08 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 fecmen 于 2011-5-31 20:41 发表


呵呵,本来不想凑热闹了。我试过我的注册程序,不存在注册不了的问题。我就不解释了。再次附上我的附件。

呵呵,经你那么一说我还真要把我的也在桌面注册了一遍,倒是没问题,我就那么一个vb代码的,他不会是误报吧,像杀毒软件一样,
或者是不是你最初的没经过优化的版本啊?我还一个都没试过呢。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-31 22:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 fecmen 于 2011-5-31 20:41 发表


呵呵,本来不想凑热闹了。我试过我的注册程序,不存在注册不了的问题。我就不解释了。再次附上我的附件。

经测试,确实是你17楼的附件出了问题(不只是指添加到宏列表,是指自动化里都没有),又试了你64楼的说经完善的就没问题了,后面的应该都没问题,就不试了。不完善的时候出个问题很正常的。
01.jpg
111.gif

TA的精华主题

TA的得分主题

发表于 2011-6-1 09:19 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
呵呵,看来我的每个版本,楼主都测试过嘛。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 07:54 , Processed in 0.045137 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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