• VC操作Word之(三)


    上一篇说了如何制作一个简单的表格,在实际应用中会发现表格的种类很多其中对于单元格要求合并的情形很多,这样出来的表格比较专业让客户看起来也很是舒服,不喔喔了看看下面的代码就全明白了。
    void CWordTestDlg::TestWord3()
    {
    _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(),7,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"));  
    for(int i=2;i<7;i+=2)
    {
      Cell c1=table.Cell(i,1);
    	Cell c2=table.Cell(i+1,1);
    	c1.Merge(c2);
    	c1.ReleaseDispatch();
    	c2.ReleaseDispatch();
    }
    app.SetVisible(TRUE);
    table.ReleaseDispatch();
    tables.ReleaseDispatch();
    sel.ReleaseDispatch();
    docs.ReleaseDispatch();
    saveDoc.ReleaseDispatch();
    app.ReleaseDispatch();
    app.SetVisible(TRUE);
    }
     
  • 相关阅读:
    Java内存模型与volatile
    Struts2验证框架的注意事项
    利用Java编写简单的WebService实例
    加速Java应用开发速度1——加速spring/hibernate应用调试时启动速度
    Java关键字synchronized详解
    JAVA对象的序列化与反序列化
    加速Java应用开发速度3——单元/集成测试+CI
    java程序性能优化之找出内存溢出元凶
    加速Java应用开发速度2——加速项目调试启动速度
    java实现动态切换上网IP (ADSL拨号上网)
  • 原文地址:https://www.cnblogs.com/tyjsjl/p/2156094.html
Copyright © 2020-2023  润新知