VC中引入Word9.olb的库后,在制作表格时的函数出问题:
其中的tb = tbs.Add(range, 5, 5,&tvt,&tvt);//, 在运行时出现参数错误的提示!
为什么????
//------------------------------------------------------------------------
COleVariant vTrue((short)TRUE),
vFalse((short)FALSE),
vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

    //Start a new instance of Microsoft Word
    _Application oWordApp;

    if (!oWordApp.CreateDispatch("Word.Application", NULL))
    {
        AfxMessageBox("CreateDispatch failed.", MB_OK | MB_SETFOREGROUND);
        return;
    }
    
    //Create a new document
    Documents oDocs;
    _Document oDoc;
    oDocs = oWordApp.GetDocuments();
    oDoc = oDocs.Add(vOpt, vOpt,vOpt,vOpt);  //Add text to the document
    Selection oSel;
    oSel = oWordApp.GetSelection();
    oSel.TypeText("one");
    oSel.TypeParagraph();
    oSel.TypeText("two");
    oSel.TypeParagraph();
    oSel.TypeText("three");
oSel.SetText("\t abcdefg"); //加入表格begin.
Tables tbs;
Table tb;
Cell cell; Range range;
//让range选中要插入表格的地方
COleVariant vm1((short)TRUE),vm2((short)TRUE);
oDoc.Activate();
tbs=oDoc.GetTables();
//tb=tbs.Add(range,5,5);//,&vm1,&vm2);//插入一5行5列的表格

//
VARIANT vt;
vt.vt=VT_ERROR;
vt.scode=DISP_E_PARAMNOTFOUND;
tagVARIANT tvt;
tvt = _variant_t(DISP_E_PARAMNOTFOUND, VT_ERROR);
//
tb = tbs.Add(range, 5, 5,&tvt,&tvt);//, &vt, &vt);//第二、第三个参数:2,2,表示建立2×2表格

Cell  oCell;
oCell = tb.Cell(0, 0);//选择第一行,第一列所在的单元格
range = oCell.GetRange();
range.SetText("12345");
/*
/* for(int i=0;i<=5;i++){
for(int j=0;j<=5;j++){
cell=tb.Cell(i,j);
range=cell.GetRange();
range.SetBold(1);
range.SetText("xxx");//循环给每一单元格加入数据
}
}*/
//加入表格end./**/

    //Save the document
    _Document oActiveDoc; 
    oActiveDoc = oWordApp.GetActiveDocument();
    oActiveDoc.SaveAs(COleVariant("e:\\123456doc1.doc"), 
COleVariant((short)0),
vFalse, COleVariant(""), vFalse, COleVariant(""),
vFalse, vFalse, vFalse, vFalse, vFalse);

    //Quit the application
    oWordApp.Quit(vOpt, vOpt, vOpt);
//------------------------------------------------------------------------

解决方案 »

  1.   

    你留下MAIL,我抽时间写个DEMO给你吧。
      

  2.   

    我的E-mail:[email protected]
    欢迎您有空给予指导,非常感谢!!!
      

  3.   

    我当时的问题是向Word输出表格,现在输出表格的问题已经解决。
    然而现在还有一个问题是怎么控制向Word表格的列宽问题,有的列宽些,有的列窄些,怎么用程序进行控制。
      另外如果不用自动化的方式,而直接用接口形式调用怎么实现,因为自动化加入的类太多了,想请教一个更为简洁的方法,以及其调用的说明!!!
      非常感谢!!!
      

  4.   

    我在ActiveX中无法保存文档SaveAs出错:
    [email protected]