VS2010通过OLE操作Excel2010

**//自我总结
1.通过类向导添加excel.exe添加需要的六个类
2.将6个XXX.h头文件中的 #import “…….EXCEL.EXE”注释掉
3.将6个头文件加到CXXXXDlg.cpp头文件里
4.创建两个button按钮,添加代码
5.添加全局变量用于存储
6.修改字符集【工程》属性》通用》字符集》Use Multi-Byte Character Set】
7.CRange.h中DialogBox()前面添加下划线变成_DialogBox()
至此,编译能够完全通过**
转自:http://blog.csdn.net/superbfly/article/details/18040445
我使用的语言是C++,网上有许多这方面的例子,但由于VS与Office版本的问题,都需要一些调整,下面是我在使用时遇到的一些问题集解决方法:

操作步骤:

a. project->add class->MFC class from typelib 导入Excel.exe,一般都在C:/Program Files/Microsoft Office/Office14路径下;

b. 选中以下几项_Application,_WorkSheet,_WorkBook,WorkSheets,WorkBooks,Range,然后导入;

c. 导入后在工程中添加CApplication,CWorkSheet,CWorkBook,CWorkSheets,CWorkBooks,CRange这些类;

然后需要把这些类的头文件中的第一句话 #import “…….EXCEL.EXE” nonamespace 删除;

引入之后如果编译遇到错误,Not enough actual parameters for macro ‘DialogBoxW’. 让人头疼!

解决方法是在CRange类中,

VARIANT DialogBox()
{
VARIANT result;
InvokeHelper(0xf5, DISPATCH_METHOD, VT_VARIANT, (void*)&result, NULL);
return result;
}

DialogBox()前面添加下划线变成_DialogBox(),解决了!

posted on 2015-07-28 00:57  fag888  阅读(329)  评论(0编辑  收藏  举报

导航