在我的Excel VBA中突然出现错误 - 保存为.xls文件格式:= 53

时间:2016-11-16 19:13:10

标签: excel vba

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

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

导致错误的代码行是:

        '~~>. Save the file
        .SaveAs Filename:="\\MY\File\Path\Report_" & Format(Now(), "yyyymmdd") & ".xls", FileFormat:=53

我不知道这里发生了什么变化,突然间没有工作,有什么想法?

我正在运行MS Excel 2016,版本1609

该位置没有同名文件。

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

感谢您的光临。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以做的就是使用宏录制器。这就是我的产品:

ChDir "C:\Users\gropc\Desktop"
ActiveWorkbook.SaveAs Filename:="C:\Users\uname\Desktop\Book1.xlsx", _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

应考虑格式。

答案 2 :(得分:0)

如果是隐藏文件问题,您可以利用FileSystemObject对象并循环,直到找到“免费”文件名

因此您的代码行可能会变成以下内容:

.SaveAs fileName:=GetFreeFileName("\\MY\File\Path\Report_" & 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