这段代码已经工作了好几个月了,今天它正在抛出错误:
运行时错误'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并稍微重写代码但我很好奇为什么所有突然之间这个错误出?
感谢您的光临。
答案 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