本人刚学mfc,对功能不是很熟..有谁能帮忙写个按钮响应的函数,用来新建一个word的文档么?
谢谢了..

解决方案 »

  1.   

    汗,word文档当然要用word来建了
      

  2.   

    额..就是mfc里的按钮,点了能新建word的呀..不是调用word的工具来新建
      

  3.   

    看看这个吧,好像VC6和VS2008的做法有一定的区别。参考
      

  4.   

    http://vckbase.com/document/viewdoc/?id=1174
      

  5.   


    #include "msword9.h" //上网搜索一下这个文件,加到你的工程中
    void CStep1Dlg::OnOK() 
    {
    _Application app; //定义一个WORD的应用对象
    if(!app.CreateDispatch(_T("Word.Application"))) //启动WORD
    {
       AfxMessageBox(_T("居然你连OFFICE都没有安装吗?"));
       return;
    }
    AfxMessageBox(_T("WORD 已经运行启动啦,你可以用Ctrl+Alt+Del查看"));
    app.SetVisible(TRUE); //设置WORD可见。
            //当然,如果你想要悄悄地调用WORD的功能,则注释掉这条语句
    AfxMessageBox(_T("现在你已经看到WORD的程序界面了吧"));
    AfxMessageBox(_T("WORD准备要退出啦"));
    VARIANT SaveChanges,OriginalFormat,RouteDocument; //定义调用QUIT时使用的参数
    SaveChanges.vt=VT_BOOL;     //设置退出WORD时候的保存参数
    SaveChanges.boolVal=VARIANT_FALSE; //为不保存任何文档,模板及设置
    ::VariantInit(&OriginalFormat);   //清空变量
    RouteDocument.vt=VT_EMPTY;    //清空变量的另一种方法
    //调用Quit退出WORD应用程序。当然不调用也可以,那样的话WORD还在运行着那
    app.Quit(&SaveChanges,&OriginalFormat,&RouteDocument);
    app.ReleaseDispatch();   //释放对象指针。切记,必须调用
    }
      

  6.   

    com啊,须记得先调用CoInitialize
    保存函数大致是这样的
    COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
    COleVariant  wdFormatDocument((short)0);
    doc.SaveAs(COleVariant(strSaveName,VT_BSTR),
    wdFormatDocument, covOptional,covOptional,covOptional,covOptional,covOptional,covOptional,covOptional, covOptional,covOptional,covOptional,covOptional,covOptional,covOptional,covOptional);
    其中 strSaveName 就是保存的名字