【问题标题】:“method saveas of object _workbook failed” error while trying to save an XLSM as CSV on a mapped server尝试在映射服务器上将 XLSM 保存为 CSV 时出现“对象 _workbook 的方法保存失败”错误
【发布时间】:2017-12-01 21:33:07
【问题描述】:

您好,
我正在尝试将 xlsm 文件另存为 CSV,并保存在我映射到我计算机上的服务器上。
下面是代码:

CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
' Store current details for the workbook
SaveToDirectory = "Y:\"
    ActiveWorkbook.SaveAs Filename:=SaveToDirectory & "Project_Type_Test" & ".csv", FileFormat:=xlCSV
    ActiveWorkbook.Close savechanges:=False
    ThisWorkbook.Activate

VBA 表明 bug 来自这行代码:

ActiveWorkbook.SaveAs Filename:=SaveToDirectory & "Project_Type_Test" & ".csv", FileFormat:=xlCSV

我尝试通过 ThisWorkbook 切换 ActiveWorkbook,但没有任何改变。

提前感谢您的帮助!

【问题讨论】:

  • 你试过添加一个ErrorHandler吗?另外,错误信息在哪里?
  • 尝试先将第一张工作表复制到新工作簿,然后将该工作簿另存为 csv。
  • 这里运行良好。 ErrorHandler 并验证文件路径是否正确?此外,它有助于告诉我们错误消息是什么
  • @Alex 我刚刚注意到他在标题中发布了错误消息...“Object_Workbook 的方法 SaveAs 失败
  • @Maldred 对,谢谢,我错过了。 OP 可以尝试先将文件另存为 .xlsm 到您的 C:\temp\ 中,如果可行,则从那里开始工作。

标签: vba excel csv methods save-as


【解决方案1】:

我运行了代码,如果我将它设置到我的硬盘上,它对我来说很好。

Sub tst()Possibly try using the url instead of the mapped dive letter

CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
' Store current details for the workbook
SaveToDirectory = "C:\TEMP\" 'CHANGED THIS TO BE MY HD AND WORKS FINE
ActiveWorkbook.SaveAs Filename:=SaveToDirectory & "Project_Type_Test" & ".csv", FileFormat:=xlCSV
ActiveWorkbook.Close savechanges:=False
ThisWorkbook.Activate
End Sub

可能尝试使用资源的 url 而不是映射的驱动器号

  • "\\机器\路径\"
  • 而不是“Y:\”

【讨论】:

  • 当我尝试将它保存在我的硬盘上时,它也适用于我。但是,我需要使用的 url 是云 url。我意识到我能够到达这个特定的路径,因为它询问我是否要覆盖具有相同名称的现有文件。因此,问题实际上来自这行代码: ActiveWorkbook.SaveAs Filename:=SaveToDirectory & "Project_Type_Test" & ".csv", FileFormat:=xlCSV 错误如下: Method'SaveAs' of object '_Workbook '失败
猜你喜欢
  • 2015-05-12
  • 2022-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多