Получите содержание sharepoint папки с Excel VBA

Я думаю, что мы смотрим на это неправильный путь и делаем неправильные выводы. Если я разбираюсь в этом, цикл идет:

Идея-> первая реализация-> принятие меньшинства-> критическая масса-> товарный продукт

От самой первой идеи до товара, у Вас часто есть века, предполагая, что идея когда-либо добирается до того этапа. Da Vinci, возможно, потянул некоторый вертолет в 1493, но потребовалось приблизительно 400 лет для получения фактической машины, способной к подъему себя от земли.

Из первого описания William Bourne подводной лодки в 1580 к первой реализации в 1800, у Вас есть 220 лет, и текущие подводные лодки все еще на этапе младенчества: мы почти не знаем ничего из подводного перемещения (с 2/3rdof планета под морем, думайте о потенциальной недвижимости;).

И нет никакого сообщения, что не было более ранних, намного более ранних идей, что мы просто никогда не слышали о. На основе некоторых легенд похоже, что Alexander the Great использовал некоторый водолазный колокол в 332 до н.э (который является основной идеей о подводной лодке: устройство для переноса людей и подачи воздуха ниже моря). Считая это, мы смотрим на 2 000 лет от идеи (даже с основным прототипом) к продукту.

то, Что я говорю, является этим ищущим сегодня реализации, уже не говоря о продуктах, которые даже не были идеями, до 1980... Я betcha алгоритм "быстрой сортировки" не использовался некоторым никаким регистратором имени в древнем Китае.И что же?

были подключенные к сети компьютеры 40 лет назад, уверены, но это не соответствовало сегодняшнему Интернету. Основная идея / технология была там, но независимо Вы не могли играть в игру Warcraft онлайн.

я утверждаю, что нам нужны действительно новые идеи в большинстве областей вычислений, и я хотел бы знать о любых важных и мощных, которые были недавно сделаны. Если мы не можем действительно найти их, то мы должны спросить "Почему?" и, "Что мы должны делать?"

Исторически, мы никогда не были в состоянии "найти их", которые закрываются от идеи, настолько быстро. Я думаю, что цикл становится быстрее, но вычисляет, все еще проклятая молодежь.

В настоящее время, я пытаюсь выяснить, как сделать голограмму (вид Звездных войн без любой физической поддержки). Я думаю, что знаю, как заставить его работать. Я даже не собрал инструменты, материалы, финансировав и все же даже если бы я должен был успешно выполниться до какого-либо градуса, то фактическая идея уже была бы несколькими старыми десятилетиями, по крайней мере и связанные реализации/технологии использовались для столь же долго.

, Как только Вы начинаете перечислять фактические продукты, можно быть вполне уверены, что понятия и первые реализации существовали только что. Не имеет значения.

Вы могли спорить с некоторой причиной, что ничто не является новым, никогда, или что все является новым, всегда. Это - философия, и могут быть защищены обе точки зрения.

С практической точки зрения, истина находится где-нибудь промежуточная. Истина не является двоичным понятием, булева логика быть проклятой.

китайцы, возможно, придумали печатный станок некоторое время назад, но это только были приблизительно 10 лет, что большинство людей может распечатать достойные цветные фотографии дома за разумную цену.

Изобретение нигде не и везде, в зависимости от Ваших критериев и системы отсчета.

20
задан afewcc 28 August 2009 в 03:59
поделиться

4 ответа

Используйте путь UNC, а не HTTP. Этот код работает:

Public Sub ListFiles()
    Dim folder As folder
    Dim f As File
    Dim fs As New FileSystemObject
    Dim RowCtr As Integer

    RowCtr = 1
    Set folder = fs.GetFolder("\\SharePointServer\Path\MorePath\DocumentLibrary\Folder")
    For Each f In folder.Files
       Cells(RowCtr, 1).Value = f.Name
       RowCtr = RowCtr + 1
    Next f
End Sub

Чтобы использовать UNC-путь, перейдите в папку в библиотеке документов, в раскрывающемся меню «Действия» выберите «Открыть в проводнике Windows». Скопируйте путь, который вы видите там, и используйте его.

13
ответ дан 29 November 2019 в 23:48
поделиться

Попробуйте сопоставить библиотеку sharepoint с буквой диска в Windows. Затем выберите диск и путь в коде.

-1
ответ дан 29 November 2019 в 23:48
поделиться

Единственный способ, который я нашел для работы с файлами в SharePoint, имея права сервера, - это сопоставить папку WebDAV с буквой диска. Вот пример реализации.

Добавьте ссылки на следующие библиотеки ActiveX в VBA:

  • Windows Script Host Object Model ( wshom.ocx ) - для WshNetwork
  • Microsoft Scripting Runtime ( scrrun.dll ]) - для FileSystemObject

Создайте новый модуль класса, назовите его DriveMapper и добавьте следующий код:

Option Explicit

Private oMappedDrive As Scripting.Drive
Private oFSO As New Scripting.FileSystemObject
Private oNetwork As New WshNetwork

Private Sub Class_Terminate()
  UnmapDrive
End Sub

Public Function MapDrive(NetworkPath As String) As Scripting.Folder
  Dim DriveLetter As String, i As Integer

  UnmapDrive

  For i = Asc("Z") To Asc("A") Step -1
    DriveLetter = Chr(i)
    If Not oFSO.DriveExists(DriveLetter) Then
      oNetwork.MapNetworkDrive DriveLetter & ":", NetworkPath
      Set oMappedDrive = oFSO.GetDrive(DriveLetter)
      Set MapDrive = oMappedDrive.RootFolder
      Exit For
    End If
  Next i
End Function

Private Sub UnmapDrive()
  If Not oMappedDrive Is Nothing Then
    If oMappedDrive.IsReady Then
      oNetwork.RemoveNetworkDrive oMappedDrive.DriveLetter & ":"
    End If
    Set oMappedDrive = Nothing
  End If
End Sub

Затем вы можете реализовать его в своем коде:

Sub test()
  Dim dm As New DriveMapper
  Dim sharepointFolder As Scripting.Folder

  Set sharepointFolder = dm.MapDrive("http://your/sharepoint/path")

  Debug.Print sharepointFolder.Path
End Sub
14
ответ дан 29 November 2019 в 23:48
поделиться

ИМХО, самый крутой способ - использовать WebDAV (без сетевой папки, так как это часто недопустимо). Это может быть выполнено с помощью объектов данных ActiveX, как описано в этой отличной статье отличной статье (код можно использовать непосредственно в Excel, недавно использовалась концепция).

Надеюсь, это поможет!

http: //blog.itwarlocks.com/2009/04/28/accessing-webdav-in-microsoft-word-visual-basic/

исходная ссылка мертва, но, по крайней мере, текстовое содержимое все еще доступно на archive.org : http://web.archive.org/web/20091008034423/http://blog.itwarlocks.com/2009/04/28/accessing-webdav-in-microsoft-word-visual-basic

2
ответ дан 29 November 2019 в 23:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: