savedlg已經(jīng)設(shè)置ofOverwritePrompt,沒問題,但是當(dāng)文件已存在的時(shí)候,選擇覆蓋,然后會彈出Microsoft Excel的窗口提示是否覆蓋,這時(shí)如果選擇是,不會出問題,而選擇否,就會報(bào)某個(gè)類的錯(cuò)誤,后面的代碼無法執(zhí)行,請問這個(gè)問題要怎么解決呢?if dlgSave1.Execute thenbegintryEXCELWORKSHEET.SaveAs(dlgSave1.FileName);//執(zhí)行這段代碼時(shí)會再次提示是否覆蓋,有沒有辦法使這一步直接默認(rèn)覆蓋,或者點(diǎn)否的時(shí)候不會報(bào)錯(cuò)呢,或者其他的方法解決mmo1.Lines.Add('保存成功!請到'+ dlgSave1.FileName +'查看結(jié)果文件!');Delay(500);mmo1.Lines.Add('即將打開您選擇的目錄!');Delay(500);strFileName := dlgSave1.FileName ; //路徑ShellExecute(0, nil, PChar('explorer.exe'),PChar('/e, ' + '/select,' + strFileName), nil, SW_NORMAL);finallyEXCEL.Disconnect ;EXCEL.Quit ;close;end;end;
1 回答

小怪獸愛吃肉
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊
估計(jì)是控件里面的問題。如果無法解決的話,只有用另一種方法了。就是在發(fā)現(xiàn)有已存在的文件時(shí),刪除原文件。
if FileExists(dlgSave1.FileName) then
DeleteFile(dlgSave1.FileName);
……
EXCELWORKSHEET.SaveAs(dlgSave1.FileName);
- 1 回答
- 0 關(guān)注
- 178 瀏覽
添加回答
舉報(bào)
0/150
提交
取消