1

我在 Excel 中使用 VBA 循环浏览共享点站点上的文件并打开所有 Excel 文件。

该代码在我第一次运行 Excel 时会崩溃,但是,如果我随后重新打开它,它就可以正常工作。

是否有任何已知问题?

谢谢。

编辑:这是代码:

Sub Refresh()

    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False

        Dim fso As FileSystemObject
        Dim fldr As Folder
        Dim f As File
        Dim wb As Workbook

        Set fso = New FileSystemObject
        Set fldr = fso.GetFolder(SharePointSite)

        For Each f In fldr.Files

            Set wb = Workbooks.Open(SharePointURL & f.Name)

        Next f

        Set wb = Nothing
        Set fldr = Nothing
        Set fso = Nothing

        .DisplayAlerts = True
        .ScreenUpdating = True
    End With

End Sub
4

1 回答 1

2

尝试使用 WebDAV 地址访问代码中的库,而不是将文档库映射到驱动器号。这样,如果宏被分发,没有人将依赖于将“Z:”驱动器映射到特定位置

将您的 FilePath 变量设置为等于这样的字符串(对 HTTPS 站点使用 @SSL):

\\sharepoint.site.com@SSL\DavWWWRoot\site1\usersite\Book2\Shared%20Documents

如果您要直接访问文本文件,请按如下方式设置:

\\sharepoint.site.com@SSL\DavWWWRoot\site1\usersite\Book2\Shared%20Documents \Test_Text1.txt

请查看此博客文章以获取有关检索 WebDAV 路径的完整说明。

于 2013-09-09T14:01:01.707 回答