1004 错误 - SaveAs 的问题
Posted
技术标签:
【中文标题】1004 错误 - SaveAs 的问题【英文标题】:1004 Error- issues with SaveAs 【发布时间】:2018-07-16 21:07:16 【问题描述】:savePath = "\\local drive path"
myFileName = savePath & "Workbook Name " & saveDate
Application.DisplayAlerts = False
'MsgBox (myFileName)
wbTarget.Activate
ActiveWorkbook.SaveAs Filename:=myFileName, FileFormat:=xlOpenXMLWorkbook
使用上述代码时,我收到错误 1004“object_Workbook 的方法 SaveAs 失败,无法弄清楚原因。我对 excel 比较陌生,但相信我已经正确设置了所有内容。
更新:抱歉应该显示更完整的代码。
Sub SaveAs()
'Save As "Workbook Name"
Dim wbTarget As Workbook
Dim wbThis As Workbook
Dim strName As String
Set wbTarget = Workbooks("Workbook Name")
wbTarget.Activate
Dim myFileName As String
Dim saveDate As String
Dim saveMonth As String
Dim monthNum As String
Dim savePath As String
Sheets("Raw").Select
saveDate = Range("A2").Value
saveMonth = Range("A2").Value
monthNum = Range("A2").Value
savePath = "\\local drive path"
myFileName = savePath & "Riskviews Data " & saveDate
Application.DisplayAlerts = False
'MsgBox (myFileName)
wbTarget.SaveAs Filename:=myFileName, FileFormat:=xlOpenXMLWorkbook
End Sub
我将最后一部分更新为“wbTarget.SaveAs”,但这似乎不起作用。
【问题讨论】:
How to do a "Save As" in vba code, saving my current Excel workbook with datestamp?的可能重复 【参考方案1】:问题可能出在ActiveWorkBook
。当您可以简单地直接引用您的对象时,您应该尽量避免依赖.Active
、.Activate
和.Select
。
删除wbTarget.Activate
并尝试以下操作,
WbTarget.SaveAs Filename:=myFileName, FileFormat:=xlOpenXMLWorkbook
【讨论】:
【参考方案2】:我可以看到您已尝试调试。 MsgBox myFileName
(注意:没有()
)应该已经显示了您传递给保存命令的内容。从上面的代码中,它将是\\local drive pathWorkbook Name
- 注意最后也有一个空格。你还没有定义saveDate
,你没有添加扩展名,你也没有指明文件格式。
更多信息请参见SaveAs
的以下回答。
How to do a "Save As" in vba code, saving my current Excel workbook with datestamp?
【讨论】:
以上是关于1004 错误 - SaveAs 的问题的主要内容,如果未能解决你的问题,请参考以下文章
运行时错误“1004”:对象“_Workbook”的方法“SaveAs”失败
使用 VBA 密码保护进行保存时出现错误消息“运行时错误‘1004’:对象‘_Workbook’的方法‘SaveAs’失败”
Excel 2007 VBA ActiveWorkbook SaveAs 未保存...运行时错误 1004