在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);
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);
officer可以直接生成cpp?
{
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);