微软word用起来很是方便,可是要在mfc中导入word却没那么容易,经过几天的磕磕绊绊,终于算功夫不负有心人,下面是我做的一点总结。
1、首先要导入word库,在头文件中加入 #import "C:\\Program Files\\Microsoft Office\\OFFICE11\\MSWORD.OLB" no_namespace raw_interfaces_only rename("ExitWindows","_ExitWindows")
2、引入头文件
#include "CApplication.h" //word程序对象
#include "CDocuments.h" //文档集对象
#include "CDocument0.h" //单个doc对象
#include "CSelection.h" //该对象代表窗口货窗格中的当前所选内容,使用率最高
#include "CCell.h" //表格单元格
#include "CCells.h" //表格单元格集合
#include "CRange.h" //该对象代表文档中的一个连续持续范围
#include "CTable0.h" //单个表格
#include "CTables0.h" //表格集合
#incldue "CFont0.h" //字体
#incldue "CParagraphs.h" //段落集合
#include "CParagraphFormat.h" //段落格式
#incldue "CParagraph.h" //单个段落
#include "CnlineShape.h" //单个inline对象
#include "CnlineShapes.h" //inline图像对象集合
3、创建word文档或打开已有文档
CAppliction appWord;
//定义一个Word的应用对象
appWord.CreateDispatch("Word.Application");
//启动word
app.put_Visible(TRUE);
//设置word可见
CDocuments docs;
CDocument0 doc;
docs=appWord.get_Documents();
//从app中获取Documents
CComVariant vTpl("");
//引号中为空时创建新文档,为绝对路径时打开文档。
CComVariant vFalse(false),vZero(0),vVisible;
doc=docs.Add(&vTpl,&vFalse,&vZero,&vVisible);//创建新文档时用vVisible,打开已有文档时用vTrue;
4、写入字体以及段落光标操作
CSelection sel;
sel=appWord.get_Selection();
sel.TypeText("Hello\r\n大家好呀!");
sel.HomeKey(COleVariant((short)wdLine),COleVariant((short)1));
//返回当前行首,并选择当前行(为0的时候只返回行首)
CFont0 font=sel.get_Font();
font.put_Name("楷体");
5、段落操作
CParagraph lastPara=sel.get_ParagraphFormat();
//获得当前段落
lastPara.put_Alignment(wdAlignParagraphCenter);
//设置对齐方式
sel.EndOf(COleVariant((short)wdParagraph),COleVariant((short)0));
//结束当前段落编辑,移动光标到段落后
sel.TypeParagraph();
//新起一段
6、插入图片
CString strPic="D:\\111.jpg";
//必须为绝对路径
CComVariant vtOpn(DISP_E_PARAMNOTFOUND,VT_ERROR);
CnlineShapes lineShapes;
lineShapes=sel.get_InlineShapes();
lineShapes.AddPicture(strPic,&vtFalse,&vtTrue,&vtOpn);
7、保存word
CString strSave="D:\\123.doc";
CComVariant fileName(strSave);
doc.SaveAs(&fileName,&vtOpn,&vtOpn,&vtOpn,&vtOpn,&vtOpn,&vtOpn,&vtOpn,&vtOpn,&vtOpn,&vtOpn,&vtOpn,&vtOpn,&vtOpn,&vtOpn,&vtOpn);
8、退出word应用程序
CComVariant SaveChanges(FALSE),OriginalFormat,RouteDocument;
appWord.Quit(&SaveChanges,&OriginalFormat,&RouteDocument);
本文介绍如何在MFC中创建、编辑并保存Word文档,包括导入Word库、创建或打开文档、字体与段落操作、插入图片及保存文档等步骤。
432

被折叠的 条评论
为什么被折叠?



