Einführung

In meiner täglichen Arbeit mit Excel und SharePoint bin ich auf eine Herausforderung gestoßen: die bidirektionale Synchronisierung von SharePoint-Listen mit Excel-Tabellen. Während Microsoft ein Add-In anbietet, das eine initiale Synchronisierung von Excel nach SharePoint ermöglicht, fehlt die Funktionalität, einzelne Zellen oder kleinere Datenmengen zu synchronisieren. Hier kommt die Nutzung der SharePoint Web Services ins Spiel.

Problemstellung

Excel allein bietet keine eingebaute Funktionalität zur direkten Synchronisierung mit SharePoint-Listen. Dies kann jedoch erforderlich sein, wenn man Daten in Excel verarbeitet und diese Änderungen in einer bestehenden SharePoint-Liste widerspiegeln möchte.

Lösungsansatz: SharePoint Web Services und VBA

Vorbereitung

Um den nachfolgenden Code nutzen zu können, muss in Excel ein Verweis auf die benötigten Bibliotheken gesetzt werden. Dies umfasst insbesondere die Bibliotheken für XML und HTTP-Anfragen.

Quellcode

Zugriff über REST API

Neben der Nutzung von Web Services kann auch die SharePoint REST API eine Alternative sein. VBA kann HTTP-Anfragen an die REST API senden, um Daten zu lesen oder zu schreiben. Dies erfordert jedoch ein tieferes Verständnis der API und entsprechende Berechtigungen.

Notwendige Bibliotheken:

  • Microsoft XML, v6.0 (oder eine vergleichbare Version)
  • Microsoft WinHTTP Services, Version 5.1 (oder eine vergleichbare Version)

Hinweise:

  1. API-URL: Ersetzen Sie apiUrl mit der tatsächlichen URL der API, auf die Sie zugreifen möchten.
  2. Fehlerbehandlung: Der Code überprüft den HTTP-Statuscode. Sie sollten zusätzliche Fehlerbehandlungen hinzufügen, je nach Bedarf.
  3. Authentifizierung: Wenn die API eine Authentifizierung (z.B. Basic Auth, OAuth) erfordert, müssen Sie zusätzlichen Code hinzufügen, um die entsprechenden Header oder Tokens zu senden.

Power Automate / Microsoft Flow

Für Benutzer, die eine weniger codeintensive Lösung bevorzugen, könnte Power Automate (früher bekannt als Microsoft Flow) eine Option sein, um Excel-Daten mit SharePoint zu synchronisieren.

Zusammenfassung

Der hier vorgestellte Ansatz ermöglicht es, spezifische Daten aus einer Excel-Tabelle in eine SharePoint-Liste zu übertragen. Diese Methode ist besonders nützlich, wenn nur bestimmte Zellen aktualisiert werden sollen und eine vollständige Synchronisierung nicht erforderlich oder nicht möglich ist. Der Schlüssel liegt in der korrekten Verwendung der SharePoint Web Services und dem Verständnis von XML- und HTTP-Anfragen in VBA.