跳过自动弹出"以只读方式打开?"

Sof*_*mur 2 excel vba excel-vba

我现在使用以下命令逐个打开一组工作簿:

Workbooks.Open Filename:=file, Password:="" 
Run Code Online (Sandbox Code Playgroud)

通常文件notread-only模式下打开,这就是我想要的.但是对于某些文件,前一行弹出以下窗口:

在此输入图像描述

在这种情况下,我仍然想打开文件(cliking Yes),甚至认为会read-only.谁能告诉我如何通过命令VBA自动化这个选择,而不是点击?

Mat*_*don 5

Excel中有一些"警示",你可以通过设置关闭的Application.DisplayAlertsFalse.

False在打开工作簿之前将其设置为,然后在打开工作簿之后再将True其设置为,这样您就不会消除任何其他后续警报.

具体的Open是只读的吗?某些工作簿出现警报,因为这些工作簿上次保存时选中了"只读推荐"复选框.在没有"只读建议"设置的情况下重新保存这些工作簿将停止提示为只读,但这可能不是您想要的.

但是,Workbooks.Open方法(MSDN)具有ReadOnly您可以指定的参数:

Workbooks.Open Filename:=file, Password:="", ReadOnly:=False
Run Code Online (Sandbox Code Playgroud)

这应该在写入启用模式下打开工作簿,即使它是以"只读推荐"设置保存 - 据我记得,指定此参数将跳过Open为只读?提醒并使用您提供的设置...

  • 由于较新的Excel版本`ReadOnly:= False`仍然提供"只读推荐",但现在有一个`IgnoreReadOnlyRecommended:= True`标志忽略只有这个提示(`Application.DisplayAlerts`到'False`隐藏了比这个更多只提示). (3认同)