簡體   English   中英

如何使用VBA檢查Sharepoint文檔屬性

[英]How to check Sharepoint Document Properties using VBA

在此處輸入圖片說明

我正在尋找開發代碼以查看SharePoint上文件的文檔屬性,然后稍后構建此代碼以查看它是否與ActiveWorkbook的文檔屬性匹配。 下面是到目前為止我擁有的代碼示例,該代碼能夠篩選到SharePoint庫中的正確文檔。 有誰知道必須添加到objFile才能訪問SharePoint文檔屬性?

Sub CheckVersion()
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")

Dim objFile As Object
Dim objDSO As Object

For Each objFile In FSO.GetFolder("\\SharePoint\Library\").Files
    If objFile.Name = "FileName.zip" Then
        MsgBox (objFile.Properties.Title)
    End If
Next

End Sub

我假設使用SharePoint 2010和更高版本。

使用SharePoint REST服務獲取具有所需屬性的正確數據項。

Sharepoint 2010的REST服務參考

SharePoint 2013的REST API參考

使用SharePoint 2010從列表中獲取項目:

http://lab/_vti_bin/listdata.svc/List1()?$filter=startswith(Title,'foo')&$top=1&$select=Title,Column2,Column3

使用SharePoint 2013從列表中獲取項目

http://lab/_api/web/lists/getbytitle('List1')/items?$filter=startswith(Title,'foo')&$top=1&$select=Title,Column2,Column3

然后,您必須使用VBA請求此URL(注意添加對Microsoft WinHTTP Services, version 5.1Microsoft XML, v6.0引用)

URL = "http://lab/_vti_bin/listdata.svc/List1()?$filter=startswith(Title,'foo')&$top=1&$select=Title,Column2,Column3"

Set req = CreateObject("WinHttp.WinHttpRequest.5.1")
req.Open "GET", URL, False
req.setRequestHeader "Content-Type", "application/xml"
req.SetCredentials "login", "pass", 0
req.Send

Set objXML = CreateObject("Msxml2.DomDocument.6.0")
If Not objXML.LoadXML(req.ResponseText) Then
    Err.Raise objXML.parseError.ErrorCode, , objXML.parseError.reason
End If

XML解析適合您;)

/編輯

要使用文件名過濾元素,請使用:

http://lab/_vti_bin/listdata.svc/Library()?$filter=FileLeafRef eq 'FileName.zip'&$select=Title

暫無
暫無

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

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