Есть ли способ получить метаданные файлов из Sharepoint с помощью VBA в Excel без необходимости открывать каждый файл? - PullRequest
0 голосов
/ 07 мая 2020

Моя цель - представить моим пользователям метод предварительного просмотра деталей файлов, хранящихся на Sharepoint, из пользовательской формы VBA в Excel. Пока я могу получить список файлов, используя Scripting.FileSystemObject.

Я знаю, что могу использовать ContentTypeProperties для доступа к нужной мне информации, но это, похоже, зависит от открытия каждого файла. Есть ли какой-нибудь другой метод, который я мог бы использовать, который позволил бы мне получить доступ к метаданным, не открывая каждый файл?

Я не заядлый пользователь Sharepoint, поэтому, пожалуйста, извините за использование терминологии.

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

Спасибо!

edit: Существующий код, использующий Scripting.FileSystemObject только для получения имени файла.

Private Sub UserForm_Activate()
Dim spURL As String
Dim oFile As Object, oFSO As Object, oFldr As Object, oFiles As Object, oDSO As Object
Dim ext As String, title As String
spURL = **sharepoint url**

Set oFSO = CreateObject("Scripting.Filesystemobject")
Set oFldr = oFSO.getfolder(spURL)
Set oFiles = oFldr.Files

For Each oFile In oFiles
    If InStr(1, ext, "xls") Then
        Me.cboFiles.AddItem oFile.Name
    End If  
Next
Set oFSO = Nothing
Set oFldr = Nothing
Set oFiles = Nothing
End Sub

Теперь скажем, что я хотел чтобы получить тип документа, который является настраиваемым полем в свойствах документа, когда файлы возвращаются в sharepoint, я знаю, что могу сделать что-то вроде:

set wb = workbooks.open(spURL & oFile.Name)
debug.print wb.ContentTypeProperties.Item(x).Value

(где Item (x) является относительным в поле, из которого мне нужно получить информацию) Однако я хочу определить, есть ли альтернативный метод, который не требует открытия книги.

1 Ответ

0 голосов
/ 09 мая 2020

Вникнув в вещи немного глубже, я обнаружил следующее на http://www.cpearson.com/excel/docprop.aspx: «VBA напрямую не поддерживает чтение свойств из закрытых файлов. Однако Microsoft предоставила для бесплатной загрузки DLL файл под названием DSO OLE Document Properties Reader 2.1 или просто DSOFile.dll. С помощью этой DLL вы можете читать как встроенные, так и настраиваемые свойства из файла OLE, например из книги XLS. "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...