禁止使用文件'对话

时间:2015-08-27 13:40:40

标签: excel vba excel-vba sharepoint

我编写了一个过程,该过程循环遍历SharePoint服务器上的大量.xlsx文件,并将每个文件中的数据聚合到主文件中。

我的问题是,在任何给定时间,可能会检出单个文件以供其他用户编辑,从而产生以下消息:

File In Use Error

我需要一个VBA解决方案来使用默认"查看只读副本"选项和UNCHECK"当服务器文件可用时接收通知"选项。

1 个答案:

答案 0 :(得分:1)

使用Workbooks.Open method中的一些标准选项可以让您明白在没有通知的情况下打开只读实例。

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