當您在 Excel 中執行 Visual Basic for Applications 宏時,出現錯誤訊息:「物件 ' _Worksheet」的方法「SaveAs」失敗」

徵狀

當您在 Microsoft Excel 中執行 Visual Basic for Applications 宏時,可能會收到下列或類似的錯誤訊息:

執行時間錯誤 "1004":物件 "_Worksheet" 的方法「SaveAs」失敗

原因

如果下列兩個條件皆為 true,就會發生這種情況:

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

  • 您可以將檔案格式指定為常數 xlWorkbookNormal。

例如,下列程式碼會導致發生此錯誤:

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

因應措施

Microsoft 提供僅供圖例使用的程式設計範例,不含任何明示或默示擔保,包括但不限於適售性與/或對特定用途適用性的默示擔保。本文假設您熟悉所示範的程式設計語言,以及用來建立及偵錯工具的工具。Microsoft 支援專業人員可協助說明特定程式的功能,但不會修改這些範例來提供額外的功能或構造程式,以符合您的特定需求。如果您的程式設計體驗有限,您可能會想要與 Microsoft 認證合作夥伴或 Microsoft 顧問服務取得聯繫。如需詳細資訊,請流覽以下 Microsoft 網站: Microsoft 認證合作夥伴- Microsoft 顧問服務- 如需有關可用之支援選項的詳細資訊,以及如何與 Microsoft 取得聯繫,請造訪下列 Microsoft 網站:若要解決此問題,請將常數 xlWorkbookNormal 的檔案格式規格變更為 1。 如果變更為以下程式碼,範例程式碼會正常運作:

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

注 即使您要儲存工作表,當檔案格式設定為 xlWorkbookNormal 或 1時,所選活頁簿中的所有工作表都會儲存。

狀態

Microsoft 已確認這是本文開頭所列的 Microsoft 產品中的問題。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×