我在vc2005中用添加类的方法,(添加typelib类)添加了 Microsoft Excel 9.0 Object Library<1.3>中的 _Application类,_Workbook类,_Worksheet类,Range类,Workbooks类和Worksheets类,但是在我引用这些类的时候,
_Application mExcelApp;
Workbooks mExcelBooks;
_Workbook mExcelBook;
_Sheets mExcelSheets;
_Worksheet mExcelSheet;
Range mExcelRge; 程序报出 e:\......\win32\debug\excel9.tlh(982) : error C2371: 'FontPtr' : 被再定义。基本类型不一致。等共182个错误...我已经在调用他的类前加上了对这些类调用的声明
#include "CApplication.h"
#include "CWorkbooks.h"
#include "CWorkbook.h"
#include "CWorksheet.h"
#include "CWorksheets.h"
#include "CRange.h"大家可以帮我分析一下原因吗?或者还是我引用excel对象的方法有问题呢?谢谢!100分送之
_Application mExcelApp;
Workbooks mExcelBooks;
_Workbook mExcelBook;
_Sheets mExcelSheets;
_Worksheet mExcelSheet;
Range mExcelRge; 程序报出 e:\......\win32\debug\excel9.tlh(982) : error C2371: 'FontPtr' : 被再定义。基本类型不一致。等共182个错误...我已经在调用他的类前加上了对这些类调用的声明
#include "CApplication.h"
#include "CWorkbooks.h"
#include "CWorkbook.h"
#include "CWorksheet.h"
#include "CWorksheets.h"
#include "CRange.h"大家可以帮我分析一下原因吗?或者还是我引用excel对象的方法有问题呢?谢谢!100分送之
所以你最好选中所有,把所有的类全添加上
不过这个功能最好用VC6来添加,VC6会把这些类都生成在一个文件,然后把生成的文件拷出来在VS2005下用
VS2005我没用过,但VS2003会把每个类都生成一个文件,好恶心
还有引用后,会出现 #import "C:\\Program Files\\Microsoft Office\\Office\\EXCEL9.OLB" no_namespace的声明,
如果在其他PC上运行,这个库文件的地址变了,会报出错误。
我试了一下你的方法,结果编译时出现error C2065: 'ExcelApp' : 没有被定义。我在引用他的类上已经定义了 #include "excel9.h"找了半天也不知道是为什么
using namespace ***那个***是什么我也不记得了,你到excel9.h里面看一下,
还有,不需要管路径的问题,你只要生成excel9.h一次,就可以把那个#import去掉了,不需要再用了
反它生成的文件拷出来就通用的了,它只是接口列表,跟路径没啥关系
谢谢
检查VC2005自动生成的”CApplication.h” : #import “C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE” /no_namespace
应该rename namespace.
可以说的稍微具体一些吗?这条语句应该怎么写好?之前的888atao,说把这句话去了也没有关系
这条语句要怎么处理才好呢?
#import ".../excel.exe" rename("Font", "oFont")如果别的机器上office路径变化了,可以不使用文件导入法,而使用GUID导入:
#import "XXXXXXXX-XXXX-..."
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing); 这条语句中,出现的_variant_t和vtMissing,我在之前的声明中,添加了#include "comutil.h"
但是编译后,会出现连接错误
PageTitle.obj : error LNK2001: ""class _variant_t vtMissing" (?vtMissing@@3V_variant_t@@A)" は没有解决这是为什么呢?声明后不能直接用吗?(继续加分)
#pragma comment(lib, "comsuppwd.lib")
#else
#pragma comment(lib, "comsuppw.lib")
#endif