[英]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.