![](/img/trans.png)
[英]Run-time error '1004': SaveAs Method of object '_Workbook failed
[英]Run-time error '1004': Method 'SaveAs' of object'_Workbook' failed
用戶有一個 Excel 電子表格。 為了保存它,他們按下一個運行以下 VBA 代碼的按鈕。
該代碼嘗試將 Excel 電子表格保存到網絡位置,用今天的日期修改文件名。
代碼將間歇性地失敗
“運行時錯誤'1004':對象'_Workbook'的方法'SaveAs'失敗”。
腳本是:
Public Sub Copy_Save_R2()
Dim wbNew As Workbook
Dim fDate As Date
fDate = Worksheets("Update").Range("D3").Value
Set wbNew = ActiveWorkbook
With wbNew
ActiveWorkbook.SaveAs Filename:="Q:\R2 Portfolio Prints\#Archive - R2 Portfolio\" & "R2 Portfolio - CEC A " & Format(fDate, "mm-dd-yyyy")
End With
Sheets("Update").Activate
End Sub
正如Hugo所說,映射驅動器可能是一個問題。 我更喜歡使用完整的UNC路徑(\\\\ Thismachine \\ ...),以防工作簿在未設置映射驅動器的計算機上使用。
我以為缺少擴展名可能是問題所在,但我只是在Excel 2013中對其進行了測試,然后它自動將.xlsx添加到文件名中。
該問題可能是由於
wbNew
參考引起的。
這是完全不必要的,不應與
。 基本上,您應該具有對工作簿的引用,或使用預定義的ActiveWorkbook
結合使用
ActiveWorkbook
引用。 我還建議改用ThisWorkbook
,因為用戶可能在代碼運行時單擊另一本書。
Public Sub Copy_Save_R2()
Dim wbNew As Workbook
Dim fDate As Date
fDate = Worksheets("Update").Range("D3").Value
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:="Q:\R2 Portfolio Prints\#Archive - R2 Portfolio\R2 Portfolio - CEC A " & Format(fDate, "mm-dd-yyyy") & ".xlsx"
Application.DisplayAlerts = True
ThisWorkbook.Sheets("Update").Activate
End Sub
編輯:添加了Application.DisplayAlerts
命令以防止出現任何“保存”彈出窗口,例如使用.xlsx而不是.xlsm並覆蓋現有副本。
編輯2018-08-11:添加了轉義反斜杠以修復UNC路徑顯示。 向與With
語句有關的不正確語句中添加了刪除線(請參見下面的注釋)。 基本上,因為With
和End With
之間沒有任何內容End With
開頭.
,該語句根本不執行任何操作。
這對我有用。 確保您的工作簿沒有共享。 我猜“共享”工作簿有局限性。
在這里看到了這個: https : //www.ozgrid.com/forum/forum/help-forums/excel-general/27843-save-xls-as-txt
在“審閱”選項卡中,單擊“共享工作簿”,並確保未選中 “允許多個用戶同時進行更改。這允許工作簿合並”。
我也在尋找導致此錯誤的原因,然后記得我正在使用已恢復的電子表格版本。 一旦我手動保存了恢復的文件並重新打開它,保存工作簿的vba代碼就沒有問題了。
對我來說也是一樣,我在保存之前添加了一個命令,
像這樣的波紋管,他們...工作了(我也使用application.display = false)
On Error Resume Next Kill TargetFullname On Error GoTo 0 wb.SaveCopyAs TargetFullname
將具有動態文件名的工作簿保存到網絡位置時出現相同的錯誤消息。 保存階段突然停止工作。 錯誤 1004 工作簿另存為方法失敗。
一段時間后意識到宏保存 output 的位置已更改,並且團隊已調整宏的腳本以反映新的網絡地址。
雖然新的網絡地址是准確的,但它太長了......我縮短了文件夾名稱,以及文件名和賓果游戲......正在再次保存工作簿,沒有錯誤消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.