徵兆

當您在宏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:=xlWorkbookNormalEnd 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:=1End Sub

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

狀態

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

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。