SharePoint-Listen, GetListItems -, XML-und VBA - ich will einfach nur, um Cross-reference!
Ich habe eine SharePoint-Liste mit, unter anderem, zwei Spalten, die ich kümmern; in Excel-ese, ich will match-Wert X in Spalte 1, und kehren Sie den entsprechenden Wert in Spalte 2. Ich bin in der Lage, ein Variante des Codes zu http://guruj.net/node/63 zum abrufen der Informationen, die (denke ich), also ich glaube mein problem konzentriert sich auf die Navigation von XML in VBA ohne DLLs heruntergeladen (ich habe einen Stapel von MSXML?.DLLs, 2, 2.6, 3, 4, 5, 6).
Die nächsten MSDN-Artikel, den ich finden-Referenz .NET (ich bin stecken in der VBA/VB6? kommt mit Office 2003) oder eine herunterladbare DLL.
Nat ' s Antwort unten zeigt das meiste, was ich gefunden habe oder brauchen aber wie das, was ich gefunden habe, ist es in der falschen Sprache und ein Teil meines Problems ist die Suche nach den Suchbegriffen. Ich habe gemuckt einige übersetzungen, Z. B. XMLDocument zu sein scheint, DOMDocument, aber die XML-Teile sind IXMLDOMNode oder ähnliches.
Das große problem, ich bin in im moment ist, dass ich immer "type mismatch" auf dem SOAP-call ausführen der query oder Objekt nicht unterstützt diese Methode, wenn ich versuche Neufassung der Spieler (listQuery, listViewFields, listQueryOptions). Ich habe verschiedene Teile als Variante, und dann warf Sie, als der Typ zurückgegeben (da ich keine SP-spezifische Bibliothek "verwiesen", ich Tue dies ein wenig blind) und bekommen sollen.
Fast scheint es, wie es sein würde, Welten einfacher screen scrape für den text.
InformationsquelleAutor Serious | 2009-01-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Woah, du bist so weit unten das Kaninchen Loch...
Okay, der code, den Sie sehen, ist, bekommen Sie eine Sicht auf die SharePoint-Liste, die vielleicht nicht der beste Ort, um zu starten, aber die Tatsache, dass alles getan wird, in VBA macht es wirklich schwer. Ich habe .NET C# - code zur Abfrage einer Liste und rufen Sie die Elemente mit einem bestimmten Wert. Die VBA-Konvertierung bin ich nicht in der Lage, das zu tun.
Den IntranetLists ist .net web-Verweis auf die Listen.asmx-Datei.
Haben Sie zu erforschen, wie man zur Nutzung der Listen.asmx-web-service aus VBA,
Sie haben dann rufen Sie GetListItems mit einer Abfrage, die für die Spalte Wert, den Sie nachschlagen möchten.
Den syntax für die Abfrage ist CAML
dann sind Sie gehen zu müssen, um zum Parsen der xml, der kommt zurück, das Element zu finden, und das Element Feld mit dem Wert, den Sie benötigen.
Jede xpath-Abfrage zu haben, um die richtigen namespaces Hinzugefügt, z.B.
Jedoch bin ich nicht sicher, Sie würde auch den Zugang zu etwas, das Parsen von xml in Ihren VBA-setup, so dass Sie können herunterladen und einige extra-VBA-tool zu tun - möglicherweise sogar blockiert werden.
Hoffe, das hilft ein wenig.
InformationsquelleAutor Nat