另存为期间要求替换文件时,选择“否”或“取消”时出现 VBA 错误

tjb*_*jb1 1 excel vba

我有代码用于将工作簿保存在具有特定名称的特定文件夹中。当文件已经存在时就会出现问题。我将“ConflictResolution”设置为询问用户,但当用户在对话框中 选择No或时,我收到“运行时错误 1004:对象 _Workbook 的方法 SaveAs 失败” 。Cancel

我不确定如何或是否可以退出NoCancel或者我是否应该将自定义错误处理添加到此部分?

  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
Run Code Online (Sandbox Code Playgroud)

Joe*_*Joe 6

您应该处理 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
Run Code Online (Sandbox Code Playgroud)

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