突然得到一个错误在我的Excel VBA-当保存为.xls文件格式:=53



这段代码已经工作了几个月了,今天它抛出了错误:

运行时错误'1004'对象'_Workbook'的方法' savea '失败

导致错误的代码行是:
        '~~>. Save the file
        .SaveAs Filename:="\MYFilePathReport_" & Format(Now(), "yyyymmdd") & ".xls", FileFormat:=53

我不知道是什么改变了这里突然不工作,有什么想法吗?

我正在运行MS Excel 2016, Version 1609

该位置没有同名文件

我想保存为。xls,以防我们发送给的人有旧版本的Excel,我可以将其更改为。xlsx并重写代码,但我很好奇为什么突然出现了这个错误?

我想保存为".xls", FileFormat应该是56http://www.rondebruin.nl/win/s5/win001.htm

您可以做的是使用宏记录器。下面是我的输出:

ChDir "C:UsersgropcDesktop"
ActiveWorkbook.SaveAs Filename:="C:UsersunameDesktopBook1.xlsx", _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

如果这是一个隐藏的文件问题,你可以利用FileSystemObject对象和循环,直到你找到一个"自由"的文件名

所以你的代码行可以变成如下:

.SaveAs fileName:=GetFreeFileName("\MYFilePathReport_" & Format(Now(), "yyyymmdd"), ".xls")

使用以下函数:

Function GetFreeFileName(fileName As String, fileExt As String)
    Dim iFile As Long
    With CreateObject("FileSystemObject")
        Do While .FileExists(fileName & fileExt)
            iFile = iFile + 1
            fileName = fileName & "-" & iFile
        Loop
    End With
End Function

最新更新