ole操作Excel文件有关问题,在网上找便了还没得一个好的解决办法

ole操作Excel文件问题,在网上找便了还没得一个好的解决方法!
在采用ole对Excel操作时,如果该Excel文件已经打开,在"save"时候会弹出一个对话框,说“文件已经存在...”,小弟想把它屏蔽,就使用了workbook.OlePropertySet(Alert, false);结果对话框是没了,可是更改的东西没有写入到文件中。这种情况可能比较特殊,小弟真是对这些ole函数参数还没弄清楚,不知那位仁兄仁姐能帮小弟一把,在文件打开时候,对Excel写入不弹出对话框,且能够写入到文件中,或告诉小弟这些函数参数的说明!

------解决方案--------------------
你用的是Save还是SaveAs
------解决方案--------------------
想不提示的话设置 Saved 属性即可

/*******************************************************************************
 * Function Name : SaveExcel
 * Description : 保存工作表
 * Return : -
 * Parameters : -
 * Author : Behard
 * Date : 2002/09/02
*******************************************************************************/
extern "C" void __declspec(dllexport) __stdcall SaveExcel(void)
{
//为了不影响别的路径,TSaveDialog 会改变当前路径
AnsiString asSaveCurrentPath = GetCurrentDir() ;

TSaveDialog *sdSaveDialog = new TSaveDialog(NULL);

sdSaveDialog->Filter = "Microsoft Excel 工作表 (*.xls)|*.XLS" ;
sdSaveDialog->FileName = FormatDateTime("yyyymm", Now())+ ".xls" ;
try
{
//保存工作表
MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertySet("Saved",true);
if( sdSaveDialog->Execute() )
{
//应该加上询问是否覆盖保存
if ( FileExists(sdSaveDialog->FileName) ) //MessageBox
{
//int iReSave =
if ( Application->MessageBox("文件已经存在,是否覆盖保存 ?", "操作提示", MB_YESNO) == IDYES )
{
DeleteFile( sdSaveDialog->FileName );
MSExcel.OlePropertyGet("ActiveWorkBook").OleProcedure("SaveAs",sdSaveDialog->FileName);
}
}
else MSExcel.OlePropertyGet("ActiveWorkBook").OleProcedure("SaveAs",sdSaveDialog->FileName);

//ShowMessage("Sucess!");
}
//不保存工作表
//else MSExcel.OlePropertyGet("ActiveWorkBook").OlePropertySet("Saved",true);
}
__finally { delete sdSaveDialog; SetCurrentDir(asSaveCurrentPath); }
//MSExcel.OlePropertyGet("ActiveWorkBook").OleProcedure("SaveAs","D:\\1.xls");
MSExcel.OlePropertyGet("ActiveWorkBook").OleProcedure("Close");
MSExcel.OleProcedure("Quit");
//ShowMessage("SaveExcel!") ;
}
------解决方案--------------------
老妖的网站上有篇文章,介绍ole操作excel的相关使用的文章,介绍的比较全的
你可以去搜一下,www.ccrun.com
------解决方案--------------------
up