Mfc 操作word方法

1、          打开word程序
变量声明
COleVariant vTrue((short)TRUE),
                vFalse((short)FALSE),
                vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

    _Application oWordApp;
    if (!oWordApp.CreateDispatch("Word.Application", NULL))
    {
        AfxMessageBox("CreateDispatch failed.", MB_OK | MB_SETFOREGROUND);
        return;
    }

2、          新建一个word文档
    Documents oDocs;
    _Document oDoc;
    oDocs = oWordApp.GetDocuments();
    oDoc = oDocs.Add(vOpt, vOpt, vOpt, vOpt); 
3、          获取对文档的控制
    Selection oSel;
    oSel = oWordApp.GetSelection();
4、          保存文档
    _Document oActiveDoc;
    oActiveDoc = oWordApp.GetActiveDocument();

    oActiveDoc.SaveAs(COleVariant("c:\\doc2.doc"),
                    COleVariant((short)0),
                    vFalse, COleVariant(""), vTrue, COleVariant(""),
                    vFalse, vFalse, vFalse, vFalse, vFalse);

    //退出word应用程序
    oWordApp.Quit(vOpt, vOpt, vOpt);

5、          设置字体
添加msword.olb中的font类,在工程中生成的类名为CFont0
使用如下代码将CFont0与文档建立关联
CFont0 font;
      font = oSel.GetFont();
然后调用函数设置字体大小:
         font.put_Size(15);
使用以下函数设置字体:
         font.put_Name("华文楷体");
6、          设置段落对齐方式
添加msword.olb中的ParagraphFormat类,在工程中生成的类名为CParagraphFormat
a)       与文档建立关联:
  CParagraphFormat paraFormat;
  paraFormat = oSel.GetParagraphFormat();
b)      设置段落对齐方式:
      paraFormat.put_Alignment(para);
      参数paralong类型,有效参数为1~4,对应关系如下:
        1: 居中
        2: 右对齐
        3:两边对齐
        4:分散对齐
        Other:无格式,默认为两端对齐(在我的机子上如此)
7、         打开已有文档:
  //下面是定义VARIANT变量;
  COleVariant varFilePath("c:\\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_DocsIdispatch接口关联起来;
  m_Docs.Open(varFilePath,varFalse,varFalse,varFalse,
  varstrNull,varstrNull,varFalse,varstrNull,
  varstrNull,varTrue,varTrue,varTrue);//打开文档
   m_Sel.AttachDispatch(m_App.GetSelection());//Selection类对象m_SelIdispatch接口关联起来;



评论

此博客中的热门博文

民国教材胜在情怀