当在SaveAs期间要求replace文件时select“否”或“取消”时出现VBA错误

我有我使用的代码,将工作簿保存在具有特定名称的特定文件夹中。 当文件已经存在时,问题就出现了。 我有“ConflictResolution”设置要求用户,但当用户在对话框中selectNoCancel时,我得到“运行时错误1004:方法另存为对象_Workbook失败”。

我不知道如何或者如果可以退出NoCancel或者如果我只是在自定义error handling添加到这一节?

  NewFileType = "Excel Macro-Enabled Workbook (*.xlsm), *.xlsm," & _ "All files (*.*), *.*" NewFile = Application.GetSaveAsFilename( _ InitialFileName:=SaveArea & newfilename, _ fileFilter:=NewFileType) If NewFile <> "" And NewFile <> "False" Then ActiveWorkbook.SaveAs FileName:=NewFile, _ FileFormat:=xlOpenXMLWorkbookMacroEnabled, _ CreateBackup:=False, _ ConflictResolution:=xlUserResolution End If 

您应该处理由SaveAs方法引发的错误。 例如

  If NewFile <> "" And NewFile <> "False" Then On Error Resume Next ActiveWorkbook.SaveAs Filename:=NewFile, _ FileFormat:=xlOpenXMLWorkbookMacroEnabled, _ CreateBackup:=False, _ ConflictResolution:=xlUserResolution If Err.Number <> 0 Then MsgBox Err.Description End If On Error GoTo 0 End If 

或者,也可以在调用SaveAs之前检查文件是否存在