excel 运行时错误“1004”-对象“Workbooks”的方法“打开”失败

zqdjd7g9  于 2023-05-01  发布在  其他
关注(0)|答案(9)|浏览(844)

好吧,到目前为止,我已经卸载并重新安装了Office-2010 3到4次,做了3天的研究小时没有成功。我开始得到这个错误无论是从Vbscript或Excel VBA,执行相同的命令,已经工作了几个月。我不确定我可能改变了什么,我不记得改变了任何可能导致它的东西,但我把它钉在ReadOnly:=True参数上。我想注册表可能出了点问题。但重新安装应该能修好它没有....
这是我在Excel 2010上记录的一个非常简单的命令。此命令WORKS FINE将打开文件:

Sub Macro1()
     Workbooks.Open Filename:="C:\temp\file_9928_131101.xlsx"
End Sub

但是当我添加 ReadOnly:=True 参数时,它不NOT WORK

Sub Macro1()
     Workbooks.Open Filename:="C:\temp\file_9928_131101.xlsx", ReadOnly:=True
End Sub

这是返回的错误***运行时错误“1004”对象“Workbooks”的“Open”方法失败***:
当我单击Debug时,错误出现在唯一的代码行。

esbemjvw

esbemjvw1#

文件已损坏。用其他名称重新保存,并在函数中更改名称。尝试它的工作,然后重命名文件,因为你想调用它。
它为我工作,我有一个损坏的文件。只读应该不是问题。

ttisahbt

ttisahbt2#

在这里为像我这样有这个问题的人提供一个答案,而正常的解决方案不起作用。
另一个可能的原因是临时文件损坏。我认为它可能只适用于当您试图打开的文件是在网络驱动器或其他远程主机上。
无论如何,试着擦除你的临时文件夹(就像你在Windows资源管理器中输入%temp%时所得到的文件夹一样),然后重新启动计算机。

hivapdat

hivapdat3#

存储在本地OneDrive文件夹中的Access文件也遇到了同样的问题,引用存储在同一本地OneDrive文件夹中的Excel文件。解决方案是将所有文件移动到一个“静态”(即。即,未同步,非OneDrive)文件夹。
认为这个特定的案例/应用程序可能会帮助某人。

voj3qocg

voj3qocg4#

我意识到这是晚了,但如果你想打开&修复损坏的工作簿自动用途:

Set oWB = Workbooks.Open(Filename:="C:\my\file\path.xlsx", CorruptLoad:=XlCorruptLoad.xlRepairFile)
am46iovg

am46iovg5#

如果您是从一些外部来源(例如-电子邮件)下载文件,只需直接从电子邮件打开文件,然后保存文件。尝试在宏中打开文件。希望能成功对我很有效...:)

8dtrkrch

8dtrkrch6#

我有一个流氓excel进程在后台运行。当我从任务管理器中杀死它时,代码工作了。希望这能帮上忙。

nfzehxib

nfzehxib7#

我也是,疯狂的工作。打开函数,得到奇怪的打开失败错误,没有明显的原因。我的代码在Open函数之后也做了一些复制粘贴,这似乎触发了它。
最终我发现关闭屏幕更新似乎会导致这种情况-保持屏幕更新打开,让事情对我来说点击(也许将来会有人发现这很有帮助)。我是那些倾向于尽可能关闭所有代码的屏幕更新的人之一。

Application.ScreenUpdating = False
8oomwypt

8oomwypt8#

尝试更改文件的名称并保存一次,那么您的问题将非常容易纠正。
ex:-如果文件名为Sales Report 1-12-2020,则将其更改为Sales_report_1-12-2020或Sales_Report_1

olqngx59

olqngx599#

我知道我回答晚了,但我解决了一个类似的问题(同样的错误,但从一个运行Excel。Net应用程序),方法是确保VBA已正确安装在目标计算机上。
控制面板-〉程序和功能-〉卸载程序。..找到您的Office安装,右键单击并选择“更改”-〉添加删除功能-〉Office共享功能-〉Visual Basic for Applications-〉从我的电脑运行
这对我来说就是这样。

相关问题