簡體   English   中英

有沒有辦法使用 excel 中的 VBA 從 Sharepoint 檢索文件元數據,而無需打開每個文件?

[英]Is there a way to retrieve file metadata from Sharepoint using VBA in excel without having to open each file?

我的目標是向我的用戶提供一種方法,可以在 excel 的 VBA 用戶表單中預覽存儲在 Sharepoint 上的文件的詳細信息。 到目前為止,我能夠使用Scripting.FileSystemObject檢索文件列表。

我知道我可以使用ContentTypeProperties來訪問我想要的信息,但這似乎取決於打開每個文件。 是否有其他方法可以讓我訪問元數據而無需打開每個文件?

我不是 Sharepoint 的狂熱用戶,所以請原諒我使用術語。

就我自己的理解而言,我正在進入未知領域,因此非常感謝任何幫助或進一步閱讀的指示。

謝謝!

編輯:現有代碼依賴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) 與我需要從中提取信息的字段相關)但是,我要確定的是是否存在不需要打開工作簿的替代方法。

深入研究一下,我在http://www.cpearson.com/excel/docprop.aspx上發現了以下內容:“VBA 不直接支持從關閉的文件中讀取屬性。但是,Microsoft 已免費提供下載一個名為 DSO OLE Document Properties Reader 2.1 的 DLL 文件,或簡稱為 DSOFile.dll。有了這個 DLL,您可以從“文件”中讀取 OLE 和自定義屬性等 XLS 工作簿

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM