![](/img/trans.png)
[英]How to obtain the properties of an Excel file in SharePoint using VBA?
[英]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从列表中获取项目:
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.1
和Microsoft 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.