使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

在 Visual Basic for Applications 中Microsoft Excel宏时,可能会收到以下或类似错误消息:

对象"保存"的运行时错误"1004":
方法"SaveAs"_Worksheet失败

原因

当以下两个条件都成立时,可能会发生此行为:

  • 您使用的是 Visual Basic for Applications 宏来保存工作表。

    -and-

  • 将文件格式指定为常量 xlWorkbookNormal。

例如,以下代码会导致出现此错误:

Sub A()
Dim myNewSheet As Worksheet
Set myNewSheet = ActiveSheet
FileNameBin = "c:\ABC"
myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormal
End Sub

解决方法

Microsoft 仅提供编程示例用于演示,而不提供明示或默示的担保,包括但不限于出于特定目的的可商家性和/或适用性的默示担保。 本文假定你熟悉演示的编程语言以及用于创建和调试过程的工具。 Microsoft 支持专业人员可以帮助解释特定过程的功能,但他们不会修改这些示例以提供附加功能或构造过程以满足您的特定需求。
如果编程经验有限,可能需要联系 Microsoft 认证合作伙伴或 Microsoft 咨询服务。 有关详细信息,请访问以下 Microsoft

网站:Microsoft 认证合作伙伴 - https://partner.microsoft.com/global/30000104

Microsoft 咨询服务 - http://support.microsoft.com/gp/advisoryservice

有关可用的支持选项以及如何联系 Microsoft 的详细信息,请访问以下 Microsoft 网站

:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS若要处理此行为,将文件格式规范从常量 xlWorkbookNormal 更改为 1。 如果更改为以下值,示例代码将正常运行:

Sub A()
Dim myNewSheet As Worksheet
Set myNewSheet = ActiveSheet
FileNameBin = "c:\ABC"
myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1
End Sub

注意 即使正在保存工作表,当文件格式设置为 xlWorkbookNormal 或 1 时,所选工作簿中所有工作表也将被保存。

状态

Microsoft 已确认这是本文开头列出的 Microsoft 产品中的问题。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×