为excel编写了一个插件,应怎样改写注册表?

wuruijing 2009-07-08 10:56:40
为excel编写了一个插件,要向其他计算机移植,希望能做成一个安装程序,在安装程序执行完毕后用户启动excel时自动加载插件,但不知应怎样改写注册表从而实现该功能?谢谢!
...全文
301 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuruijing 2009-07-20
  • 打赏
  • 举报
回复
或者能有一个安装程序制作工具能生成这种插件安装程序也行
bigriverhorse 2009-07-15
  • 打赏
  • 举报
回复
兄弟指的是Excel主菜单中“工具”->“加载宏”吗,
还是VBA中的“外接程序”->“外接程序管理器”呢?
wuruijing 2009-07-15
  • 打赏
  • 举报
回复
自己顶自己一下吧
wuruijing 2009-07-15
  • 打赏
  • 举报
回复
不管怎样谢谢“bigriverhorse”朋友的热心回答
bigriverhorse 2009-07-15
  • 打赏
  • 举报
回复
我提到的方法是针对xll类型的文件,至于dll类型我再看看吧,

下面是我本机的注册表内容,请参考

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options]
"Options"=dword:00000157
"OPEN"="/R \"C:\\Program Files\\Microsoft Office\\OFFICE11\\Library\\Analysis\\ANALYS32.XLL\""
wuruijing 2009-07-15
  • 打赏
  • 举报
回复
多谢楼上的朋友帮助。我曾经看过这篇文章,但还是有些问题没有搞清楚。我也曾通过“工具”->“加载宏”加载自己编写的dll文件(例如C:\MyAddIn.dll)后搜索注册表,发现注册表4次出现此dll文件信息。
[HKEY_CLASSES_ROOT\CLSID\{94A63D40-C507-4D84-B73A-DCF05968BD89}\InprocServer32]
@="C:\\MyAddIn.dll"
[HKEY_CLASSES_ROOT\TypeLib\{09F18A6E-A954-479C-AFB5-38DFE352079A}\1.0\0\win32]
@="C:\\MyAddIn.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{94A63D40-C507-4D84-B73A-DCF05968BD89}\InprocServer32]
@="C:\\MyAddIn.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{09F18A6E-A954-479C-AFB5-38DFE352079A}\1.0\0\win32]
@="C:\\MyAddIn.dll"
在注册表的其他位置曾出现clsid
HKEY_CLASSES_ROOT\MyAddIn.Connect\Clsid]
@="{94A63D40-C507-4D84-B73A-DCF05968BD89}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MyAddIn.Connect\Clsid]
@="{94A63D40-C507-4D84-B73A-DCF05968BD89}"
但没有找到这个插件在注册表中的哪个位置,或者通过哪一种形式与excel实现关联,从而使excel启动时可以自动加载该插件。谢谢!

bigriverhorse 2009-07-15
  • 打赏
  • 举报
回复
改注册表就可以了,每个版本的Office位置还不太一样,

Excel 2002
Key: HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Options
String: OPENx
Sample Value: /A "ServerName.ClassName"
Excel 2003
Key: HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options
String: OPENx
Sample Value: /A "ServerName.ClassName"
Excel 2007
Key: HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options
String: OPENx
Sample Value: /A "ServerName.ClassName"

更多详细信息请参见微软的官方说明
http://support.microsoft.com/kb/291392/
wuruijing 2009-07-15
  • 打赏
  • 举报
回复
我编写了一个dll文件,用户可以通过“工具”->“加载宏”手动实现加载,但现在要实现的是不让用户手动操作,通过一个类似setup的程序实现安装,用户在下次启动excel时会自动加载插件
wuruijing 2009-07-13
  • 打赏
  • 举报
回复
没有人知道吗?
wuruijing 2009-07-09
  • 打赏
  • 举报
回复
不是宏,我是用vb6编写的dll,在excel中可以通过“com加载项”来加载
wuruijing 2009-07-08
  • 打赏
  • 举报
回复
晕,我点了一次发帖怎么出来两个帖子?
fairchild811 2009-07-08
  • 打赏
  • 举报
回复
是用宏写的?

http://wenda.tianya.cn/wenda/thread?tid=75cf389c50436d1d

6,873

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧