添加头文件包含:#include <afxole.h> 并且导入Excel类型库包含头文件:#include "excel.h"(我用的是Office 2003)如果按照如下方式导入ADO则会产生冲突: #import "C:/program files/common files/system/ado/msado15.dll" no_namespace rename("EOF","adoEOF")
去掉no_namespace 后可以解决冲突的问题,但是在每次需要使用ado的相应东西的时候需要在其前加上ADODB::, 比如:ADODB::_RecordsetPtr。 也可以参考如下方式: #pragma warning (disable : 4146 4049) #define __OFFICE_XP #ifdef __OFFICE_XP #import "E:/Program Files/Common Files/Microsoft Shared/Office10/MSO.DLL" #import "E:/Program Files/Common Files/Microsoft Shared/VBA/VBA6/VBE6EXT.OLB" / rename_namespace("VBIDE") #import "E:/Program Files/Microsoft Office/Office10/Excel.EXE" / rename("DialogBox", "DialogBoxXL") / rename("RGB", "RGBXL") / rename("ExitWindows", "ExitWindowsXL") / rename("DocumentProperties", "DocumentPropertiesXL") / no_auto_exclude #import "E:/Program files/Microsoft Office/Office10/MSWORD.OLB" / rename("DialogBox", "DialogBoxDoc") / rename("RGB", "RGBDoc") / rename("ExitWindows", "ExitWindowsDoc") / rename("DocumentProperties", "DocumentPropertiesDoc") / no_auto_exclude #endif
#ifdef __OFFICE_2000 #import "E:/Program Files/Microsoft Office/Office/MSO9.DLL" #import "E:/Program Files/Common Files/Microsoft Shared/VBA/VBA6/VBE6EXT.OLB" / rename_namespace("VBIDE") #import "E:/Program Files/Microsoft Office/Office/EXCEL9.OLB" / rename("DialogBox", "DialogBoxXL") / rename("RGB", "RGBXL") / rename("ExitWindows", "ExitWindowsXL") / rename("DocumentProperties", "DocumentPropertiesXL") / no_auto_exclude #import "E:/Program files/Microsoft Office/Office/MSWORD9.OLB" / rename("DialogBox", "DialogBoxDoc") / rename("RGB", "RGBDoc") / rename("ExitWindows", "ExitWindowsDoc") / rename("DocumentProperties", "DocumentPropertiesDoc") / no_auto_exclude #endif
#ifdef __OFFICE_97 #define IMPATTRS rename("DocumentProperties", "DocProps") #import "mso97.dll" IMPATTRS #import "vbeext1.olb" rename_namespace("VBIDE") #import "excel8.olb" IMPATTRS rename("DialogBox", "DialogBoxXL") / rename("RGB", "RGBXL") / rename("ExitWindows", "ExitWindowsXL") / rename("DocumentProperties", "DocumentPropertiesXL") / rename("_CommandBars", "CommandBarsXL") / no_auto_exclude #import "msword8.olb" rename("DialogBox","dialogBoxDOC") / rename("RGB","RGBDOC") no_auto_exclude / rename("ExitWindows","WordExitWindows") no_auto_exclude #endif
#import "msado21.tlb" rename("EOF", "adoEOF")
更多技术文章请参看施昌权的个人网站: http://www.joyvc.cn