簡體   English   中英

另存為.xls FileFormat:= 53時,我的Excel VBA-中突然出現錯誤

[英]Suddenly Getting an Error in my Excel VBA- when Saving as .xls FileFormat:=53

這段代碼已經使用了幾個月,今天卻拋出了錯誤:

對象'_Workbook'的運行時錯誤'1004'方法'SaveAs'失敗

導致錯誤的代碼行是:

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

我不知道這里突然發生了什么變化,有什么想法嗎?

我正在運行MS Excel 2016版本1609

該位置沒有同名文件。

我想另存為.xls,以防萬一我們將其發送到舊版本的Excel,我可以將其更改為.xlsx並重新編寫一些代碼,但我很好奇為什么突然出現此錯誤?

感謝您的光臨。

我認為要另存為“ .xls”,FileFormat應該為56 http://www.rondebruin.nl/win/s5/win001.htm

您可以做的是為此使用宏記錄器。 這是我的產物:

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

該格式應予以考慮。

如果是隱藏文件問題,則可以利用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM