在Office2000版Office所生成的Excel.cpp文件中,类_Workbook下有一个SaveAs函数,其定义如下: 
void   SaveAs(const   VARIANT&   Filename,   
const   VARIANT&   FileFormat,   
const   VARIANT&   Password,   
const   VARIANT&   WriteResPassword,   
const   VARIANT&   ReadOnlyRecommended,   
const   VARIANT&   CreateBackup,   
long   AccessMode,                          //  这里是long 而不是XlSaveAsAccessMode
const   VARIANT&   ConflictResolution,   
const   VARIANT&   AddToMru,   
const   VARIANT&   TextCodepage,   
const   VARIANT&   TextVisualLayout,   
const   VARIANT&   Local); 
现在的问题是    因为之前用了file的open函数,所以已经create了一个文件,我现在就是想让他默认就是覆盖我原来的文件,不弹出对话框   
代码:File.Open(strFileName,CFile::modeCreate|CFile::modeWrite,&e))
      book.SaveAs(COleVariant(strFilename),covOptional, covOptional,covOptional,covOptional,covOptional,0, covOptional, covOptional,     covOptional, covOptional);
      COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);

解决方案 »

  1.   

    在Office2000版Office所生成的Excel.cpp文件中?。。
    officer可以直接生成cpp?
      

  2.   

    if (!AfxOleInit())
    {
    AfxMessageBox("初始化Ole出错!");
    return FALSE;
    }
    if (!appExcel.CreateDispatch("Excel.Application"))
    {
    AfxMessageBox("无法创建Excel应用程序!");
    return FALSE;
    }
    AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);
    AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);
    AfxOleGetMessageFilter()->EnableNotRespondingDialog(TRUE);
    AfxOleGetMessageFilter()->SetMessagePendingDelay(-1);
      

  3.   

    你好,麻烦你把解决方法发我邮件好吗?[email protected]