[英]Run-time Error '1004' - Method 'Open' of object 'Workbooks' failed
好的,到目前為止,我已經卸載並重新安裝了 Office-2010 3 到 4 次,研究了 3 天,但沒有成功。 我開始從 Vbscript 或 Excel VBA 收到此錯誤,執行已運行數月的相同命令。 我不確定我可能改變了什么,我不記得改變任何可能導致它的東西,但我把它固定在ReadOnly:=True
參數上。 我認為注冊表可能有問題......但重新安裝應該可以解決它嗎? 它沒有...
不管怎么說,很簡單的命令,我記錄在Excel 2010中此命令工作正常,並打開該文件:
Sub Macro1()
Workbooks.Open Filename:="C:\temp\file_9928_131101.xlsx"
End Sub
但是,當我添加只讀:= true參數,它不工作:
Sub Macro1()
Workbooks.Open Filename:="C:\temp\file_9928_131101.xlsx", ReadOnly:=True
End Sub
這是返回的錯誤運行時錯誤 '1004' 方法 'Open' of object 'Workbooks' failed :
當我單擊調試時,錯誤出現在唯一的代碼行中。
文件已損壞。 用另一個名稱重新保存它並在函數中更改名稱。 嘗試它的工作原理,然后根據您的需要重命名文件。
它對我有用,而且我的文件已損壞。 只讀應該不是問題。
我對存儲在本地 OneDrive 文件夾中的 Access 文件遇到了同樣的問題,引用了存儲在同一個本地 OneDrive 文件夾中的 Excel 文件。 解決方案是將所有文件移動到“靜態”(即,不同步,而不是 OneDrive)文件夾中。
認為這個特定的案例/應用程序可能會幫助某人。
在這里為像我這樣有此問題的其他人提供答案,而正常的解決方案不起作用。
另一個可能的原因是臨時文件損壞。 我認為它可能僅適用於您嘗試打開的文件位於網絡驅動器或其他遠程主機上的情況。
無論如何,嘗試擦除您的臨時文件夾(如您在 Windows 資源管理器中鍵入%temp%
獲得的文件夾),然后重新啟動計算機。
如果您從某個外部來源(例如電子郵件)下載文件,只需直接從電子郵件打開文件,然后保存文件。 嘗試在宏中打開文件...希望它有效...它對我有用....:)
我有一個在后台運行的流氓 excel 進程。 當我從任務管理器中殺死它時,代碼起作用了。 我希望這有幫助。
我意識到這已經晚了,但是如果您想自動打開和修復損壞的工作簿,請使用:
Set oWB = Workbooks.Open(Filename:="C:\my\file\path.xlsx", CorruptLoad:=XlCorruptLoad.xlRepairFile)
我也是,瘋狂使用 Workbook.Open 函數,無緣無故地收到奇怪的打開失敗錯誤。 我的代碼在 Open 函數之后也做了一些復制粘貼,這似乎觸發了它。
最終我發現關閉 ScreenUpdating 似乎是導致這種情況的原因 - 保持 ScreenUpdating 開啟,讓我點擊(也許將來有人會覺得這很有幫助)。 我是那些盡可能為所有代碼關閉 ScreenUpdating 的人之一。
Application.ScreenUpdating = False
我知道我對此回答晚了,但我通過確保在目標機器上正確安裝 VBA 解決了類似的問題(相同的錯誤,但從 .Net 應用程序運行 excel)。
控制面板->程序和功能->卸載程序...找到您的Office安裝,右鍵單擊並選擇“更改”->添加刪除功能->Office共享功能->Visual Basic for Applications->從我的電腦運行
這為我做到了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.