2

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

Workbooks.Open Filename:=file, Password:="" 

通常文件not以模式打开read-only,这就是我想要的。但是对于某些文件,上一行会弹出如下窗口:

在此处输入图像描述

在这种情况下,我仍然想打开文件(单击Yes),即使认为会是read-only. 谁能告诉我如何通过 VBA 命令而不是单击来自动执行此选择?

4

3 回答 3

7

Excel 有许多“警报”,您可以通过将其设置Application.DisplayAlertsFalse.

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

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

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

Workbooks.Open Filename:=file, Password:="", ReadOnly:=False

这应该以启用写入的模式打开工作簿,即使它是使用“只读推荐”设置保存的 - 据我所知,指定此参数将跳过Open as read-only?警报并使用您提供的设置...

于 2013-08-01T16:28:15.327 回答
3

只想指出建议的答案不正确:

直接从 MSDN 关于 ReadOnly 标志:

https://msdn.microsoft.com/en-us/library/office/ff835182.aspx

True以只读方式打开文档。此参数不会覆盖已保存文档上的只读推荐设置。例如,如果已在打开建议只读的情况下保存文档,则将 ReadOnly 参数设置为 False 不会导致文件以读/写方式打开。

于 2016-08-15T20:41:50.797 回答
2

使用ReadOnly参数:

Workbooks.Open Filename:=file, Password:="", ReadOnly:=True

然后不会弹出消息。

于 2013-08-01T16:41:20.933 回答