使用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。

null

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容