尝试在映射服务器上将 XLSM 保存为 CSV 时出现“对象 _workbook 的方法保存失败”错误
Posted
技术标签:
【中文标题】尝试在映射服务器上将 XLSM 保存为 CSV 时出现“对象 _workbook 的方法保存失败”错误【英文标题】:“method saveas of object _workbook failed” error while trying to save an XLSM as CSV on a mapped server 【发布时间】: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\ 中,如果可行,则从那里开始工作。 【参考方案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 '失败以上是关于尝试在映射服务器上将 XLSM 保存为 CSV 时出现“对象 _workbook 的方法保存失败”错误的主要内容,如果未能解决你的问题,请参考以下文章