locking编辑 – VBA只读
我有一个macros,打开多个文件,并在其上运行代码。 然而,如果涉及到一个文件“locking编辑”,它会给我一个错误说
FileName目前正在使用中。 稍后再试。
我怎样才能打开所说的文件为只读? 我试过了:
Workbooks.Open FileName:=Selected_EOS_Report_File, ReadOnly:=True
和
Workbooks.Open FileName:=Selected_EOS_Report_File, ReadOnly:=True, IgnoreReadOnlyRecommended:=True
任何帮助表示赞赏!
更新:第一种方法实际上工作。 我的较大的代码运行在通过“Selected_EOS_Report_File”variables的多个文件上。 在某个时候,一个文件通过的是一个Excel临时文件(开头文件名为“〜$”。)代码不能读取temp,所以我创build了一个if / then语句跳过任何这样的文件,只读取保存Excel文件。
据我所知,你需要Notify:= True
MSDN链接
通知
如果无法以读/写模式打开文件,则该参数为True,将文件添加到文件通知列表中。 Microsoft Excel将以只读方式打开文件,轮询文件通知列表,然后在文件变得可用时通知用户。 如果此参数为False或省略,则不会请求通知,并且任何尝试打开不可用的文件都将失败。
尝试这个?
Dim wb As Workbook Set wb = GetObject(Selected_EOS_Report_File) wb.Open 'ReadOnly:=True (removed the readonly part)
从这篇文章派生: 与VBA打开.xlsx,文件在使用中的错误。 只读不工作
编辑
这里的一个post指出了旧版本的类似问题,如果你不xlsx然后消失: