我有同樣的問題。文件已損壞,並打開VBA引發該錯誤。作爲一個可能的解決方案,我發現這個(faname是與路徑的字符串):
Workbooks.Open FileName:= fname, UpdateLinks:=False, ReadOnly:=True, _
IgnoreReadOnlyRecommended:=True, Password:="", Editable:=FALSE, _
CorruptLoad:= xlExtractData
重要的部分是「CorruptLoad:= xlExtractData」,這使得它可以裝載從損壞的文件中的數據,而不引發此錯誤。其他的東西就在那裏,以防止文件做一些......連同
Application.DisplayAlerts = False
Application.AskToUpdateLinks = False
Application.EnableEvents = False
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Application.Calculation = xlCalculationManual
以防萬一打開文件之前......如果你這樣做,不要忘記你的宏完成之前撤消喜歡(這是我的標準設置,使用自己的你可能會發現他們出在立即窗口使用Debug.Print!):
Application.DisplayAlerts = True
Application.AskToUpdateLinks = True
Application.EnableEvents = True
Application.Calculation = xlNormal
Application.AutomationSecurity = msoAutomationSecurityLow
小心你的安全設置,實際上是不盲目的這些變化複製設置... 也最好趕上錯誤(「錯誤...」),並終止重置您以前的設置。
嘗試手動打開它以獲取關於該文件的不同內容的線索。可能有一些不可讀的項目或文件可能已損壞。 – L42 2014-09-11 02:07:14
什麼是文件類型,它是否有任何區別,首先嚐試問題文件,而不是所有的文件在同一位置? – pnuts 2014-09-11 02:10:31
@pnuts類型是Microsoft Excel 97-2003工作表(.xls),是的,所有文件具有相同的類型和相同的位置。我試着把問題文件放在第一位,但沒有任何區別。運行時錯誤仍然顯示。 as @ l42建議的 – danielle 2014-09-11 05:30:15