为了账号安全,请及时绑定邮箱和手机立即绑定

设置了worksheet的数据,再用savedlg选择一个新文件,使用saveas另存为,出现了问题

设置了worksheet的数据,再用savedlg选择一个新文件,使用saveas另存为,出现了问题

C
阿晨1998 2023-01-11 19:15:59
savedlg已经设置ofOverwritePrompt,没问题,但是当文件已存在的时候,选择覆盖,然后会弹出Microsoft Excel的窗口提示是否覆盖,这时如果选择是,不会出问题,而选择否,就会报某个类的错误,后面的代码无法执行,请问这个问题要怎么解决呢?if dlgSave1.Execute thenbegintryEXCELWORKSHEET.SaveAs(dlgSave1.FileName);//执行这段代码时会再次提示是否覆盖,有没有办法使这一步直接默认覆盖,或者点否的时候不会报错呢,或者其他的方法解决mmo1.Lines.Add('保存成功!请到'+ dlgSave1.FileName +'查看结果文件!');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贡献1852条经验 获得超1个赞

估计是控件里面的问题。如果无法解决的话,只有用另一种方法了。就是在发现有已存在的文件时,删除原文件。
if FileExists(dlgSave1.FileName) then
DeleteFile(dlgSave1.FileName);
……
EXCELWORKSHEET.SaveAs(dlgSave1.FileName);

查看完整回答
反对 回复 2023-01-15
  • 1 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信