首页 > 解决方案 > 对象“_workbook”的“另存为”失败

问题描述

我正在尝试将工作簿另存为 xlsm,这是我使用的代码:

ThisWorkbook.SaveAs Filename:="path\workbook_name.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled

我已经做了一些测试,实际上它确实保存在私人文件夹和公共或共享文件夹 中,但是当我将它保存在共享文件夹中时,我也得到了这个:

运行时错误“1004”对象“_workbook”的“另存为”方法失败

为什么当它保存在公共/共享文件夹或 onedrive 中时会收到错误消息?

标签: excelvbaruntime-error

解决方案


我想在你的包含路径的字符串中有变量“路径”。然后你应该这样写:

Dim path as String:       path = "C:\Users\xxx\Desktop"
ThisWorkbook.SaveAs Filename:=path & "\workbook_name.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled

或者您可以硬编码完整路径(但我建议使用变量 - 第一个示例)。

ThisWorkbook.SaveAs Filename:="C:\Users\xxx\Desktop\file.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled

推荐阅读