通过vs2008的添加类,选择MFC,选择从TypeLib中的MFC类,选择从文件,选择对应的类型库文件,导入Excel2003的类型库是excel.exe,然后选择需要的接口,然后完成。这样能生成很多的类文件的头文件,里面包含了实现代码。
但是编译的时候还是会报错,应该注释掉各个类文件中的import语句
改在stdafx.h中统一的定义
// 导入ADO的类型库
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
// 导入Excel类型库
#import "C:\Program Files\Common Files\Microsoft Shared\OFFICE11\MSO.DLL" rename("RGB", "msoRGB")
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.olb"
#import "D:\\Microsoft Office\\OFFICE11\\EXCEL.EXE" no_namespace \
rename("DialogBox", "excelDialogBox") rename("CopyFile", "excelCopyFile") rename("ReplaceText", "excelReplaceText") \
rename("Picture", "excelPicture") rename("RGB", "excelRGB") rename("Font", "excelFont") rename("Rectangle", "excelRectangle") \
rename("Arc", "excelArc") \
rename("Parameter", "excelParameter") rename("Parameters", "excelParameters") rename("Errors", "excelErrors") rename("Error", "excelError")
这样能保证不会重名了。
最好直接通过Range类操作单元格,SetCell函数在合并单元格后会跑偏。