设为首页 加入收藏

TOP

VC++中调用word进行word表格的填写(二)
2014-11-23 21:30:20 】 浏览:975
Tags:调用 word 进行 表格 填写
D_WORDAUTOMATION_DIALOG,在对话框中增加一个按钮命名为IDC_WORD_TABLEWRITE,在按钮的处理函数中增加如下的代码:

BeginWaitCursor();

COleVariant vTrue((short)TRUE), vFalse((short)FALSE), vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR); _Application m_App;//定义Word提供的应用程序对象;

Documents m_Docs;//定义Word提供的文档对象;

Selection m_Sel;//定义Word提供的选择对象;

m_Docs.ReleaseDispatch();

m_Sel.ReleaseDispatch();

m_App.m_bAutoRelease=true;

if(!m_App.CreateDispatch("Word.Application"))

{

AfxMessageBox("创建Word2000服务失败!");

exit(1);

}

//下面是定义VARIANT变量;

COleVariant varFilePath("word表格.doc");

COleVariant varstrNull("");

COleVariant varZero((short)0);

COleVariant varTrue(short(1),VT_BOOL);

COleVariant varFalse(short(0),VT_BOOL);

m_Docs.AttachDispatch(m_App.GetDocuments());

//将Documents类对象m_Docs和Idispatch接口关联起来;

m_Docs.Open(varFilePath,varFalse,varFalse,varFalse , varstrNull,varstrNull,varFalse,varstrNull, varstrNull,varTrue,varTrue,varTrue);

//打开Word文档;

m_Sel.AttachDispatch(m_App.GetSelection());

//将Selection类对象m_Sel和Idispatch接口关联起来;

m_Sel.MoveDown(COleVariant((short)4),COleVariant(( short)1),COleVariant((short)0)); m_Sel.MoveDown(COleVariant((short)5),COleVariant(( short)1),COleVariant((short)0)); m_Sel.TypeText("123456789");

m_Sel.MoveRight(COleVariant((short)1),COleVariant( (short)1),COleVariant((short)0));

m_Sel.TypeText("李明");

m_Sel.MoveRight(COleVariant((short)1),COleVariant( (short)1),COleVariant((short)0));

m_Sel.TypeText("25");

m_Sel.MoveRight(COleVariant((short)1),COleVariant( (short)1),COleVariant((short)0));

m_Sel.TypeText("技术员");

m_Sel.MoveRight(COleVariant((short)1),COleVariant( (short)1),COleVariant((short)0));

m_Sel.TypeText("本科");

m_Sel.MoveRight(COleVariant((short)1),COleVariant( (short)1),COleVariant((short)0));

m_Sel.TypeText("上海市虹口区民主路315号");

//save word file

_Document oActiveDoc;

oActiveDoc = m_App.GetActiveDocument();

oActiveDoc.SaveAs(COleVariant("c:\填写后表格.doc"), COleVariant((short)0), vFalse, COleVariant(""), vTrue, COleVariant(""), vFalse, vFalse, vFalse, vFalse, vFalse); m_Docs.ReleaseDispatch();

//断开关联;

m_Sel.ReleaseDispatch();

//退出WORD

m_App.Quit(vOpt, vOpt, vOpt);

m_App.Quit(vOpt, vOpt, vOpt);

m_App.ReleaseDispatch();

EndWaitCursor();

MessageBox("word表格填写完毕!","提示",MB_ICONEXCLAMATION);

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇VC Debug 技巧 下一篇C++ 工程实践(6):单元测试如何 m..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目