如何打开锁定以进行编辑文件,仅读取



我有一个宏来打开多个文件。如果涉及文件,则"锁定进行编辑"。这会给我一个错误说

当前使用文件名。稍后再试。

我如何才能将其打开,仅读取?我尝试了:

Workbooks.Open FileName:=Selected_EOS_Report_File, ReadOnly:=True

Workbooks.Open FileName:=Selected_EOS_Report_File, ReadOnly:=True, IgnoreReadOnlyRecommended:=True

更新:第一个方法确实有效。我的代码在多个通过" selected_eos_report_file"的文件上运行。多变的。在某个时候,通过该文件是一个excel临时文件(以"〜$ quot"开始文件名。我创建了一个If/then语句以跳过任何此类文件。

据我所知,您需要Notify:= True

msdn链接

notify
如果不能以读/写模式打开文件,则此参数为true 将文件添加到文件通知列表中。Microsoft Excel Will 以仅读取的文件打开文件,对文件通知列表进行轮询,然后 文件可用时通知用户。如果这个论点是 错误或省略,不要求通知,并且任何尝试 打开一个不可用的文件将失败。

下面的代码用于我遇到的类似问题。这将设置ReadOnly和nighoreadonlyRecommonded参数。

我对此进行了Excel 365的测试。

readonly:正确以仅阅读模式打开工作簿。

nighoreReadonLyRecommended:TRUE让Microsoft Excel不显示仅读取的建议消息(如果使用只读的建议选项保存了工作簿)。

dim wbReadOnly as Workbook
Set wbReadOnly = Workbooks.Open(strXLSFileName, , True, , , , True)

链接到VBA文档

尝试这个?

Dim wb As Workbook
Set wb = GetObject(Selected_EOS_Report_File)
wb.Open 'ReadOnly:=True (removed the readonly part)

从这篇文章中得出:打开带有VBA的.xlsx,使用错误的文件。只读不工作

编辑

这里的一篇文章指示了较旧版本的类似问题,如果您向XLSX介绍,则它消失了:

https://social.technet.microsoft.com/forums/en-us/5c9f744444444444444444444444598-beca-beca-beca-21a6d557575575d94/excel-celcel-file-file-curranty-in-in-in-in-ius-in-in-ius-in-ius-in-ius-in-purn-in-ius-in-ius-in-purn-in-ius-in-ius-in-ius-in-purn-in-purn-in-suse-in-ius-in-ius-in-ius-in-purn-in-purn-in-ius-in-purn-in-purn-in-purn-in-purl

最新更新