ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2011-6-1 09:23 | 显示全部楼层
本帖已被收录到知识树中,索引项:插件开发
原帖由 baomaboy 于 2011-5-31 17:42 发表

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


我说的VB附件是宝马男孩的代码 已经解决问题了 非常感谢,完全达到想要的效果
还有一个小问题就是当自注册时.DLL文件的路径含有空格时不能注册了.例如C:\Documents and Settings\bylnmg\桌面\2 时提示注册错误 不知在VB 中的代码怎么写才能解决.DLL文件路径中包含有空格的问题?

TA的精华主题

TA的得分主题

发表于 2011-6-1 09:32 | 显示全部楼层
原帖由 fecmen 于 2011-5-31 20:41 发表


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


你这个自注册当文件路径包含空格时没出现问题,是怎么解决.DLL所在路径有空格的问题的啊?

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-6-1 15:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 fecmen 于 2011-6-1 09:19 发表
呵呵,看来我的每个版本,楼主都测试过嘛。

还真没有每个版本都测试,都是一样的效果,不外乎注册,添加列表,就这么两个功能老测他干吗,你一直说完善了,我也估计是一个比一个考虑的更周到,谁做东西都是这么个过程,所以就不用试了,这不是有人提出问题吗?不测试不行啊,不然还不知道你17楼那个失败呢,17楼之后又测了一个成功了就没再测,测又没什么意义,你完善1也是成功了,完善2估计也是成功,完善3也一样,都是注册、加载、又没新花样,没测试的意义啊。

[ 本帖最后由 baomaboy 于 2011-6-1 15:13 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-6-1 16:47 | 显示全部楼层
呵呵,那可不一样喔。后面的会很酷。应该考虑得更周到,那么就更人性化了,下面是要做很多工作的。测试也是需要耐心和考虑全面的。比如说,一次关闭所有的office2010打开的Excel窗口,不太好实现吧?目前可以实现不保存一次关闭所有的Excel窗口。

成品和初始的想法或测试是两回事的。所有不停的更新后最终的和最初的变化会很大,测试只是验证技术罢了。

[ 本帖最后由 fecmen 于 2011-6-1 16:48 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-6-1 17:35 | 显示全部楼层
原帖由 fecmen 于 2011-6-1 16:47 发表
呵呵,那可不一样喔。后面的会很酷。应该考虑得更周到,那么就更人性化了,下面是要做很多工作的。测试也是需要耐心和考虑全面的。比如说,一次关闭所有的office2010打开的Excel窗口,不太好实现吧?目前可以实现不保 ...

“窗口”你要是停留在“窗口”级别那还要继续完善,你总是在该使用正规方法的时候做成弯路走,你意思是结束excle还要判断版本了?不然2010没法一次性关闭窗口,如果都像你这么编那还不累死,另外再说了如果你只停留在“关闭窗口”的级别_遇到“特殊”情况时你就明白了还要继续完善。
原帖由 fecmen 于 2011-5-23 09:39 发表
建议做成Excel打开与否都能安装,另发现你的程序有时在此处注册了,换个地方注 ...
原帖由 baomaboy 于 2011-5-23 09:59 发表

这是分清况的,如果从未安装过的情况下本来就是excel打开与否都能安装,但入果安装过的情况下,excle打开的话会一直加载dll你根本不能安装,这是微软的安全机制,任何人包括微软自己也避不开,你更新软件或杀毒软件 ...

当时你还不知道为什么excel在打开状态时很多操作都不能进行,还是我告诉你为什么要关闭excle,只是当时没给你源码而已.....
一次性关2010不太好实现吧?目前可以不保存。。。。。其实你应该在学学wmi,凭你这么聪明,相信很快就能学会,每次给你点儿提示你就能把握的很好,你很会抓敏感信息,而且很能把这信息当成自己发现的,有这种学习精神,这样提高会很快的。
  1. For Each Process In GetObject("winmgmts:").ExecQuery("select * from Win32_Process where name='EXCEL.EXE'")
  2.         Process.Terminate (0)
  3. Next
复制代码

[ 本帖最后由 baomaboy 于 2011-6-1 18:35 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-6-2 13:56 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
拜托,获取版本号和关闭Excel没有关系吧。一次关闭office2010并保存所有Excel窗口,只是人性化处理,不关闭他们如何写入options呢?没全部关闭的情况下,你写入没有用的,当你修改完注册表,再关闭剩余的Excel窗口就会发现注册表又改回去了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-6-2 15:56 | 显示全部楼层
原帖由 fecmen 于 2011-6-2 13:56 发表
拜托,获取版本号和关闭Excel没有关系吧。一次关闭office2010并保存所有Excel窗口,只是人性化处理,不关闭他们如何写入options呢?没全部关闭的情况下,你写入没有用的,当你修改完注册表,再关闭剩余的Excel窗口就 ...

我就是因为获取版本号才“打开”的excle,就因为打开excle后对注册表的操作会被excel的安全机制过滤,所以我才关闭excle,这就是版本号和关闭excle的关系,怎么会没有呢,也就是因为这个所以我才关闭excle,而那个时候你还不懂这些,还很天真的问“能不能开着excel也能安装和卸载”的版本,当然你后来不断测试一懂的了开着excle写注册表是不行的。所以你开始完善弄个关闭不同版本的窗口,“窗口”早就应该被放弃了,不管是例子里,还是源码里都给了你关闭excle的方法,如果你还只是停留在“窗口”的级别上,就那么停着吧。
不过以你这么聪明早晚会也会明白,会把“窗口”级别完善过去。这也算是提示吧,而且wmi就在那摆着,虽然你忽略很多不说,可其实你什么都没忽略,就像写注册表要关闭excle,终究那你会用到,而且是你自己通过测试试验出来的。

TA的精华主题

TA的得分主题

发表于 2011-6-2 16:43 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-6-2 23:45 | 显示全部楼层
进一步优化后的注册、注销程序。可以一次关闭所有的Excel窗口(office2007、office2010)。

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

18.62 KB, 下载次数: 91

TA的精华主题

TA的得分主题

发表于 2011-6-3 05:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我看高手们有时间的话不如把注册程序做成通用型的不是更好!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 03:12 , Processed in 0.036994 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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