savedlg已經(jīng)設(shè)置ofOverwritePrompt,沒(méi)問(wèn)題,但是當(dāng)文件已存在的時(shí)候,選擇覆蓋,然后會(huì)彈出Microsoft Excel的窗口提示是否覆蓋,這時(shí)如果選擇是,不會(huì)出問(wèn)題,而選擇否,就會(huì)報(bào)某個(gè)類(lèi)的錯(cuò)誤,后面的代碼無(wú)法執(zhí)行,請(qǐng)問(wèn)這個(gè)問(wèn)題要怎么解決呢?if dlgSave1.Execute thenbegintryEXCELWORKSHEET.SaveAs(dlgSave1.FileName);//執(zhí)行這段代碼時(shí)會(huì)再次提示是否覆蓋,有沒(méi)有辦法使這一步直接默認(rèn)覆蓋,或者點(diǎn)否的時(shí)候不會(huì)報(bào)錯(cuò)呢,或者其他的方法解決mmo1.Lines.Add('保存成功!請(qǐng)到'+ dlgSave1.FileName +'查看結(jié)果文件!');Delay(500);mmo1.Lines.Add('即將打開(kāi)您選擇的目錄!');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 回答

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