使用MFC/ com / c++控制Excel 2010

我有一个使用COM控制Excel的第三方遗留软件(使用MFC/ c++)。代码很简单:_ApplicationPtr xl;HRESULT hr = xl.CreateInstance(“Excel.Application”);在Excel 2000、2002 (XP)、2003、2007年工作出色;然而,在一台干净的Win7机器上安装Office 2010之后,CreateInstance()调用以“无效的类字符串”(CO_E_CLASSSTRING)失败。我在注册表中快速搜索了一下,找到了Excel。应用程序(或Excel.Application。14 -我假设Excel 2010会是)不存在,所以看起来微软改变了Excel 2010现在通过COM接口公开的方式。我正确吗?有谁能帮我在Excel 2010中使用这个吗?正如我提到的,这是一个较老的应用程序,所以它是用vc++ 6.0构建的,只是使用了很好的老式COM方法来访问Excel。

【全新正版】C语言从入门到精通c语言程序设计c++电脑编程入门零基础自学轻松学计算机c语言入门软件程序员开发教程教材书籍
全新版【赠:电子书实战案例+VC6.0安装包】 | 月销量2985件
优惠价19.8元
原价¥98

淘口令:

¥E3g7Xt9j0Ra¥
 

好吧,我算出来了。我使用点击运行下载并安装了Office 2010。我想这种新的交付方法安装后不会创建相同的冗长的注册表项(i.e. Excel.Application, Excel.Application.14) 。因此,我的CreateInstance()调用显然会失败。只要我下载了完整的安装文件(而不是使用点击运行的方式),一切都运行得很好。

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享
评论 抢沙发
CPPKU的头像-cppku-C++库

昵称

取消
昵称表情代码图片