当前位置:  开发笔记 > 编程语言 > 正文

如何在com自动化中启动特定的Excel版本?

如何解决《如何在com自动化中启动特定的Excel版本?》经验,为你挑选了1个好方法。

我通过COM自动化使用Excel(在c#中),但似乎问题无法控制在盒子上启动的excel版本 - 我们同时使用Excel 9和Excel 11和一组特定的电子表格需要excel 9否则他们不会工作.

我包括excel 9 com参考,但在另一个人机器excel 11开始.我怎样才能解决这个问题 ?



1> 小智..:

这与CurVer无关.这是COM.与所有COM应用程序一样,Windows通过引用注册表中相关CLSID项中的LocalServer或InprocServer设置来了解如何启动它们.

Excel的CLSID是:

{00024500-0000-0000-C000-000000000046}

如果您在HKCR\CLSID(HKCR\Wow6432Node\CLSID,您运行的是64位版本的Windows)下查看此密钥,您将看到这些密钥.如果安装了Excel 2003和Excel 2007,则所有这三个键都是:

HKCR\Excel.Appplication
HKCR\Excel.Appplication.11
HKCR\Excel.Appplication.12

将指向相同的CLSID,这就是为什么Windows只知道如何启动一个版本的Excel.

如果您发现Excel 2003正在启动它,因为CLSID的子键指向OFFICE11安装.

要更改此行为,请将路径更改为指向OFFICE12(或OFFICE14)路径.Windows将首选使用命令的Unicode变体(这是难以理解的).因此,除非您知道如何更新Unicode,否则只需删除"命令"值即可.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有