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