Excel 运行时错误';1004';此文件已在受保护视图中打开

Excel 运行时错误';1004';此文件已在受保护视图中打开,excel,vba,runtime-error,Excel,Vba,Runtime Error,我有一个从另一个Excel文件读取数据的宏。如果用户已打开该文件,Excel将尝试重新打开该文件-到目前为止,这还可以 但是,如果在受保护视图中打开文件,则宏将停止在此行: Workbooks.Open Filename:=Sheets("Control Sheet").Range("C6").value 错误如下: Run-time error '1004' This file is already open in Protected View 如何解决此问题?对于阅读,我推荐Scott

我有一个从另一个Excel文件读取数据的宏。如果用户已打开该文件,Excel将尝试重新打开该文件-到目前为止,这还可以

但是,如果在受保护视图中打开文件,则宏将停止在此行:

Workbooks.Open Filename:=Sheets("Control Sheet").Range("C6").value
错误如下:

Run-time error '1004' This file is already open in Protected View

如何解决此问题?

对于阅读,我推荐Scott Holtzman的解决方案:

Workbooks.Open Filename:="FileName", ReadOnly:=True 
对于其他情况,您可以通过以下方式删除受保护模式:

Do While Application.ProtectedViewWindows.Count > 0
    Application.ProtectedViewWindows(1).Edit
Loop

由于您只是从文件中读取数据,能否将只读参数设置为True
Workbooks。打开文件名:=工作表(“控制表”)。范围(“C6”)。值,只读:=True