VS2005里怎么自动生成的CRange.h文件LPDISPATCH是Application?

秦剑 2011-05-25 01:13:17
我准备用COM操作Excel,用的开发环境是VS2005用MFC
参照的是这个例子:
http://support.microsoft.com/kb/308407
然后添加TypeLib类,添加:CApplication CRange CWorkbook CWorkbooks CWorksheet CWorksheets类
然后有错误,原因是没有定义的Application结构体,对比从网上下的代码,发现:
本应LPDISPATCH结果我创建的工程中是Application
这是怎么回事儿呢?
我用的是office 2007,难道这和office版本有关?COM 应该不会吧
我对COM不感冒,希望各位能给我答案。。
谢谢!!
...全文
311 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
秦剑 2011-05-30
  • 打赏
  • 举报
回复
谢谢各位,尤其是r3000
康斯坦汀 2011-05-30
  • 打赏
  • 举报
回复
C++通过com访问excel当然比C#要好啊,毕竟com本身是C++实现的,起码数据类型不用转换,基本
1对1,资料当然也比C#多,你感觉少是因为: 1)C++访问COM比较底层和繁琐,所以用的人少,尤其是
国内。 2)C++的资料多是英文的,其实MSDN中有很多,只不过你没发现而已,比如COM SDK文档。
康斯坦汀 2011-05-30
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/en-us/library/cc313152%28v=office.12%29.aspx

康斯坦汀 2011-05-30
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/de-de/library/microsoft.office.interop.word.aspx

这个是.NET的,可以查EXCEL VBA的说明,都是一样的。
秦剑 2011-05-30
  • 打赏
  • 举报
回复
你可以发个MSDN的链接给我吗?
一直没有找到好的。。
谢谢!!
[Quote=引用 8 楼 r3000 的回复:]

C++通过com访问excel当然比C#要好啊,毕竟com本身是C++实现的,起码数据类型不用转换,基本
1对1,资料当然也比C#多,你感觉少是因为: 1)C++访问COM比较底层和繁琐,所以用的人少,尤其是
国内。 2)C++的资料多是英文的,其实MSDN中有很多,只不过你没发现而已,比如COM SDK文档。
[/Quote]
秦剑 2011-05-29
  • 打赏
  • 举报
回复
有道理。。
不过自动话引入的头文件不全,自己添可能会有问题。。。。


[Quote=引用 6 楼 redui 的回复:]

既然如此,你就用C#完成功能,然后把代码翻译成C++代码
[/Quote]
redui 2011-05-28
  • 打赏
  • 举报
回复
既然如此,你就用C#完成功能,然后把代码翻译成C++代码
秦剑 2011-05-27
  • 打赏
  • 举报
回复
谢谢,我发现用C#做Exel同样是C#,非常的方便 ,这方面的资料很多,C++却很难找到确彻的资料。
在MSDN里讲得也很少。。
难道是我没有找对吗?COM应该怎么找呢?
[Quote=引用 4 楼 r3000 的回复:]

put_Visible(FLASE);
put_DisplayAlerts(FALSE);
[/Quote]
康斯坦汀 2011-05-26
  • 打赏
  • 举报
回复
put_Visible(FLASE);
put_DisplayAlerts(FALSE);
秦剑 2011-05-25
  • 打赏
  • 举报
回复
另一问题:
怎么样才能无声无息的保存Excel文件?put_Visible(TRUE);
不显示Excel,也不显示“另存为”对话框。。
秦剑 2011-05-25
  • 打赏
  • 举报
回复
这个贴子是2006年的可能是我office 2007版本的原因吧,自动化生成的代码得修改才可以,比如:
1、Application
2、CWorkSheet中要添加get_Range(VARIANT Cell1, VARIANT Cell2)
然后才能通过,而且运行也正常。。
COM真是搞不明白,我现在的工程向在添加向导时没有添加“自动化”,这又将成为一个问题。。。
谢谢!
[Quote=引用 1 楼 visualeleven 的回复:]

http://topic.csdn.net/t/20060309/09/4602265.html
相关帖子~
[/Quote]
Eleven 2011-05-25
  • 打赏
  • 举报
回复

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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