簡體   English   中英

運行時錯誤“1004”-對象“工作簿”的方法“打開”失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM