文档详情

MFC中操作word和excel.doc

发布:2017-10-03约1.92万字共15页下载文档
文本预览下载声明
应用程序运行界面如图所示: 一、首先在VC6.0中创建MFC应用程序,类型为基本对话框,MFC库选静态的DLL(否则编译之后在其他电脑上无法运行),其他选项默认。然后按Ctrl+W调出MFC类向导,从Word和Exce的安装根目录下导入Word和Excel的库(word:MSWord.dll,Excel:excel.exe(选全部文件下拉列表才能看到)),然后分别导入Word中的四个类( _Application,Documents,_Document,Range)和Excel中的五个类(_Application,Workbooks,Worksheets,_Workbook,_Worksheet,Range),注意导入Excel中的_Application和Range类时要重命名(_Application_Excel,Range_Excel),要不然和Word导入的类重名了。 /************************************************************************/ /* 工程名为Nichole7 */ /************************************************************************/ 二、首先在CNichole7App::InitInstance()中最前面加入: /************************************************************************/ /* 初始化COM库 */ /************************************************************************/ if (::CoInitialize(NULL) != S_OK) { AfxMessageBox(初始化COM支持库失败!); exit(1); } 然后在return FALSE前面加入: /************************************************************************/ /* 释放COM库*/ /***********************************************************************/ ::CoUninitialize(); 三、头文件 #include msword.h //与Word操作相关的类 #include excel.h //与Excel操作相关的类 #include afxtempl.h //CMap类的头文件 #include AtlBase.h //新增加了一个头文件,为使用CComVariant替代VARIANT做准备 /* **1.建立工程文件不要以excel命名,因为添加类的时候会默认生成excel.h和excel.cpp文件 **2.添加excel的类时,要改名,要不然_Application和Range类会重定义(因为word里也会添加进有同样的类) */ #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #define LINE_SIZE 100 //Word行数(以换行符分隔) #define EXCEL_SIZE 50 //Excel的单元格数 #define ITEM_COUNT 10 //歧义词最多项数 BOOL InitWord(_Application wordApp); BOOL InitExcel(_Application_Excel _app); int Split(char *token,CString strs,CString *str,char *seps); void ExtractString(CMapCString, LPCTSTR, CString, LPCTSTR stringMap,CMapCString, LPCTSTR, CString, LPCTSTR ItemMap,const CString strs,/*const CString seps=:*/ const CString seps); BOOL OpenExcelFile(LPCTSTR xlsFileName,_Application_Excel _app,LPDISPATCH lpDispatch,Workbooks _books,_Workbook _
显示全部
相似文档