VC操作Word系列(二)

来源:互联网 发布:便筏 元数据损坏 编辑:程序博客网 时间:2024/04/30 12:06
 

随笔之:VC操作Word系列()

大家都应该使用过Word提供的表格功能很是专业,如果在作一些数据库开发之类的软件对汇总的数据进行打印是常见的功能,这个如果用Word来实现个人感觉不错,废话少说说练咱就练。

void CWordTestDlg::TestWord2()

{

_Application app;

COleVariant vTrue((short)TRUE),       vFalse((short)FALSE);

app.CreateDispatch(_T("Word.Application"));

app.SetVisible(FALSE);

//Create New Doc

Documents docs=app.GetDocuments();

CComVariant tpl(_T("")),Visble,DocType(0),NewTemplate(false);

docs.Add(&tpl,&NewTemplate,&DocType,&Visble);

//Add Content:Text

Selection sel=app.GetSelection();

sel.TypeText(_T("/t/t/t/t/t/t/t情况汇总/r/n"));

sel.TypeText(_T("/t/t/t/t/t/t/t/t----------*******跨国公司/r/n"));

COleDateTime dt=COleDateTime::GetCurrentTime();

CString strDT=dt.Format("%Y-%m-%d");

CString str("/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t/t");

str+=strDT;

str+="/r/n";

sel.TypeText(str);

//Add Table

_Document saveDoc=app.GetActiveDocument();

Tables tables=saveDoc.GetTables();

CComVariant defaultBehavior(1),AutoFitBehavior(1);

tables.Add(sel.GetRange(),6,11,&defaultBehavior,&AutoFitBehavior);

Table table=tables.Item(1);

sel.TypeText(_T("Test1"));

sel.MoveRight(COleVariant((short)1),COleVariant(short(1)),COleVariant(short

(0)));

sel.TypeText(_T("Test2"));

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

sel.TypeText(_T("Test3"));

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

sel.TypeText(_T("Test4"));

sel.MoveRight(COleVariant((short)1),COleVariant(short(1)),COleVariant(short<(0)));

sel.TypeText(_T("Test5"));

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

sel.TypeText(_T("Test6"));

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

sel.TypeText(_T("Test7"));

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

sel.TypeText(_T("Test8"));

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

sel.TypeText(_T("Test9"));

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

sel.TypeText(_T("Test10"));

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

sel.TypeText(_T("Test11")); 

app.SetVisible(TRUE);

table.ReleaseDispatch();

tables.ReleaseDispatch();

sel.ReleaseDispatch();

docs.ReleaseDispatch();

saveDoc.ReleaseDispatch();

app.ReleaseDispatch();

}