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

运行时错误 1004 文档未使用 Vba Excel 2016 保存

尝试使用 .SaveAs VBA 函数时出现方法错误

对象“_Workbook”的方法“SaveAs”失败