vs2005操作word详解

 微软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);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值