求助啊 vc++2010 中对excel2007操作只导入文件就一大堆的错误
本帖最后由 qw503495315 于 2012-11-30 14:27:57 编辑 我是参照这个来配置的http://www.cnblogs.com/xianyunhe/archive/2011/09/25/2190485.html
我发现我的office没有那个MSO.DLL和那个VBE6EXT.OLB在别的地方
我把导入的接口类都包含到了stdafx.h 这个头文件中
我照着那个文档一步一步的操作但是出现了下面一大堆的错误
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(73818): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(73818): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(73818): warning C4183: “GetSoftEdge”: 缺少返回类型;假定为返回“int”的成员函数
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74442): error C2146: 语法错误: 缺少“;”(在标识符“MailEnvelope”的前面)
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74442): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74442): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74482): error C2146: 语法错误: 缺少“;”(在标识符“Scripts”的前面)
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74482): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74482): error C2208: “Scripts”: 没有使用此类型进行定义的成员
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74962): error C2146: 语法错误: 缺少“;”(在标识符“GetScripts”的前面)
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74962): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74962): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74962): warning C4183: “GetScripts”: 缺少返回类型;假定为返回“int”的成员函数
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74974): error C2146: 语法错误: 缺少“;”(在标识符“GetMailEnvelope”的前面)
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74974): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74974): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(74974): warning C4183: “GetMailEnvelope”: 缺少返回类型;假定为返回“int”的成员函数
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75683): error C2146: 语法错误: 缺少“;”(在标识符“HTMLProject”的前面)
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75683): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75683): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75693): error C2146: 语法错误: 缺少“;”(在标识符“CommandBars”的前面)
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75693): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75693): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75737): error C2146: 语法错误: 缺少“;”(在标识符“VBProject”的前面)
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75737): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75737): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75739): error C2146: 语法错误: 缺少“;”(在标识符“Permission”的前面)
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75739): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75739): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75741): error C2146: 语法错误: 缺少“;”(在标识符“SharedWorkspace”的前面)
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75741): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75741): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75743): error C2146: 语法错误: 缺少“;”(在标识符“Sync”的前面)
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75743): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75743): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75757): error C2146: 语法错误: 缺少“;”(在标识符“SmartDocument”的前面)
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75757): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75757): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75759): error C2146: 语法错误: 缺少“;”(在标识符“DocumentLibraryVersions”的前面)
1>c:\users\adminstor\documents\visual studio 2010\projects\456\456\debug\excel.tlh(75759): fatal error C1003: 错误计数超过 100;正在停止编译
[解决办法]
仅供参考
1.在VC中新建一控制台程序,选支持MFC(当然,你也可以不选择支持MFC的,不过会很麻烦)
2.按CTRL+W调出MFC ClassWizard,Add Class->From a type library,选择你的word的类型库
(例如我的是word2003,安装在e盘,我的路径是"e:\edittools\microsoft office\office11\msword.olb"),
选择完毕后,在弹出的窗口中选择要让classwizard生成的包装类,在本例中要用到
_Application,
Documents,
_Document,
Range
这四个类,选中他们后按OK
3.进入你的main函数所在的cpp文件,加入头文件引用
#include "msword.h" //引用刚才classwizard生成的idispatch包装类
4.加入代码
……