禁止“文件正在使用”对话

我已经编写了一个过程,可以循环访问SharePoint服务器上的大量.xlsx文件,并将每个数据汇总到主文件中。

我的问题是,在任何给定的时间,个别文件可能会被检出,由另一个用户编辑,产生这个消息:

文件正在使用错误

我需要一个VBA解决scheme来使用默认的“查看一个只读的副本”选项,并且检查“当服务器文件可用时接收一个通知”选项。

使用Workbooks.Open方法中的一些标准选项可以让您在不通知的情况下打开一个只读实例。

Sub open_wbro() Dim wb As Workbook, fn As String fn = "c:\temp\myWorkbook.xlsx" on error goto bm_WB_Open_Error Set wb = Workbooks.Open(FileName:=fn, ReadOnly:=True, _ IgnoreReadOnlyRecommended:=True, _ Notify:=False) goto bm_Exit bm_WB_Open_Error: If CBool(Err.Number) Then Debug.Print Err.Number & " - " & Err.Description Err.Clear End If bm_Exit: wb.Close Set wb = Nothing End Sub