2017-05-30 2 views
0

enter image description hereWie Sharepoint Dokumenteigenschaften mit VBA

Suche Code zu entwickeln, um die Dokumenteigenschaften einer Datei auf Sharepoint anzuzeigen, dann später baut aus diesem Code, um zu prüfen, ob es die Dokumenteigenschaften der ActiveWorkbook Spiele . Unten ist ein Beispiel des Codes, den ich bis jetzt habe, der in der Lage ist, durch das richtige Dokument in der SharePoint-Bibliothek zu filtern. Kennt jemand die Funktion, die zu objFile hinzugefügt werden muss, um auf die Eigenschaften des SharePoint-Dokuments zuzugreifen?

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 
+0

meinst du sharepoint listitem Eigenschaften für Dokument in Dokumentbibliothek? – tinamou

+0

Ja, die mit dem Dokument in SharePoint verknüpften Eigenschaften. Nicht die Dateieigenschaften, wenn Sie sie aus dem Internet geöffnet haben. – Greg

Antwort

0

Ich nehme SharePoint 2010 und höhere Version an.

Verwenden Sie SharePoint-REST-Services, um ordnungsgemäße Datenelemente mit den gewünschten Eigenschaften zu erhalten.

REST Services Reference for Sharepoint 2010

REST API Reference for SharePoint 2013

Erhalten Sie Artikel aus der Liste mit Sharepoint 2010:

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

Get Artikel aus der Liste mit Sharepoint 2013

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

Dann y ou haben diese URL mit VBA (remeber Verweise auf Microsoft WinHTTP Services, version 5.1 und Microsoft XML, v6.0 hinzuzufügen) zu beantragen

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-Analyse für Sie;)

bearbeiten/

Um mit Dateinamen Filterelement, Verwendung :

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

Danke für Ihre Hilfe! Nur zur Bestätigung, all dieser Code wäre erforderlich, um auf die Eigenschaften "Titel" in dem Snapshot zuzugreifen, den ich in meine Frage aufgenommen habe? – Greg

+0

ist ein ordnungsgemäßer REST-Aufruf erforderlich. Web-Anfrage in VBA ist erforderlich, XML-Lesen ist ebenfalls erforderlich :) Ich werde meinen Code aktualisieren, damit er mit Ihrem Dateinamen-Filter übereinstimmt – tinamou

Verwandte Themen