现在遇到这样一个需求,需要将程序的输出结果保存到Word和Excel中,望高手赐教,顺便给点源代码,谢谢!

解决方案 »

  1.   

    简单。创建一个WorD或EXCEL的VBA对象,然后写进去就是了。
    这下面是VB代码,改成VC就是了:    Dim xslapp As Object
        Set xslapp = CreateObject("Excel.Application")
        Dim xslsheet As Object ' Excel.Worksheet
        Dim xslbook As Object ' Excel.Workbook
        
        Set xslbook = xslapp.Workbooks.Add
        Set xslsheet = xslbook.ActiveSheet
        
        xslsheet.Cells(1, 1).Value = "XXX"
        xslsheet.Cells(1, 2).Value = "YYY"
        
        For i = 2 To m_Users.Count
            xslsheet.Cells(i, 1).Value = GetUserPart(m_Users.item(i), 1)
            xslsheet.Cells(i, 2).Value = GetUserPart(m_Users.item(i), 2)
        Next
        
        xslbook.SaveAs m_FilePath要给分啊
      

  2.   

    Jim3277(北回归剑) ,请赐教!
      

  3.   

    1)
    在VIEW菜单中,把WORD的类型库导入先,好象叫WORD9。OLB什么的。在你机器的OFFICE目录里。
    2)
    ::CoInitialize(NULL);
    _Application app;
    app.CreateDispatch("Word.application");
    app.SetVisible(false);
    Documents docs;
    _Document doc;
    docs=app.GetDocuments();
    CComVariant var;
    var.vt=VT_ERROR;
    var.scode=DISP_E_PARAMNOTFOUND;
    doc=docs.Open(&CComVariant(FileNameStr),&var,&var,&var,&var,&var,&var,&var,&var,&var,&var,&var);

    Tables tabs = doc.GetTables();
    Table tab = tabs.Item(1);
    Cell cel = tab.Cell(1,2);
    Range rng = cel.GetRange();
    rng.SetText("ddd");
    cel = tab.Cell(1,4);
    rng = cel.GetRange();
    rng.SetText("ddd");
    cel = tab.Cell(1,6);
    rng = cel.GetRange();
    rng.SetText("ddd");
    cel = tab.Cell(2,2);
    rng = cel.GetRange();
    rng.SetText("ddd");
    cel = tab.Cell(2,4);
    rng = cel.GetRange();
    rng.SetText("ddd");
    cel = tab.Cell(3,1);
    rng = cel.GetRange();
    rng.SetText("ddd");

    doc.Save();
    app.Quit(&var,&var,&var);
    3)
    我建议你去看一下OFFICE的VBA编程帮助文件,在OFFICE的安装盘里有。
    VBAXL9。CHM,VBAWRD9。CHM
      

  4.   

    谢谢 StormRainbow(风雨_彩虹) !