Ведение URL сервера Sharepoint с вложенными папками в списке документов

Я хочу перебрать элементы библиотеки документов Sharepoint (файлы, папки и подпапки), а затем распечатать содержимое каждой папки в листе Excel

У меня есть следующий код в моем макросе

Sub WriteFileProp(mySourcePath As String)

    Dim objMyList As ListObject
    Dim objWksheet As Worksheet
    Dim strSPServer As String
    Dim SERVER As String
    Const LISTNAME As String = "Documents"
    Const VIEWNAME As String = ""
     SERVER = mySourcePath
   ' The SharePoint server URL pointing to
   ' the SharePoint list to import into Excel.

    strSPServer = "http:" & SERVER & "/_vti_bin"
    ' Add a new worksheet to the active workbook.
    Set objWksheet = Worksheets.Add
    ' Add a list range to the newly created worksheet
    ' and populated it with the data from the SharePoint list.
    Set objMyList = objWksheet.ListObjects.Add(xlSrcExternal, _
        Array(strSPServer, LISTNAME, VIEWNAME), False, , Range("A1"))

 End Sub

и эта функция

 Dim objFSO As Object
 Dim objFolder As Object
 Dim ObjFile As Object
 Dim SubFolder As Object
 Dim pth As String
 Dim WBn As Workbook
 Dim ObCount As Long
 Dim FileNme As String

 Application.ScreenUpdating = False

 Set objFSO = CreateObject("Scripting.FileSystemObject")

 'Get the folder object associated with the directory
 Set objFolder = objFSO.GetFolder("//S1.S2.S3Portal/Shared%20Documents/")

 Call WriteFileProp("S1.S2.S3Portal.com/")
 'Print main view

For Each SubFolder In objFolder.SubFolders
            Call WriteFileProp(SubFolder.Path)
        Next

Все работает нормально пока Call WriteFileProp("S1.S2.S3Portal.com/")После этого я зацикливаюсь на подпапки, и путь не совместим с ServerUrl, который указан в

objWksheet.ListObjects.Add(xlSrcExternal, _
        Array(strSPServer, LISTNAME, VIEWNAME), False, , Range("A1"))

т.е. допустим, что имя первой подпапки - Software, путь к нему - в следующем формате http://S1.S2.S3Portal/Shared%20Documents/.

но ListObjects.Add принимает только этот формат в соответствии с MSDN

strSPServer = http: //S1.S2.S3Portal

ListName = "Документы"

Вид =""

есть ли в любом случае поддерживать подпапки URL этого документа. библиотека и добавить их в книгу Excel с помощью ListObjects.Add или аналогичной функции

1 ответ

Решение

Я использовал GetListItems с запросом Soap и веб-сервисом, чтобы получить элементы списка вместо опубликованного метода

Другие вопросы по тегам