Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sharepoint Metadaten per VBA schreiben

Forumthread: Sharepoint Metadaten per VBA schreiben

Sharepoint Metadaten per VBA schreiben
19.11.2021 15:00:01
Timo
Hallo,
ich würde gerne Sharepointmetadaten per VBA schreiben. Dazu nutze ich die Funktion:
ActiveWorkbook.ContentTypeProperties ("Link letzter Bericht").value
Die betroffene Spalte in der Sharepointbibliothek ist vom Typ Hyperlink. Mit obigem Befehl kann ich zwar die Daten korrekt auslesen und z.B. in eine Zelle schreiben, wenn ich jedoch Debug.Print ActiveWorkbook.ContentTypeProperties ("Link letzter Bericht").value nutze, kommt ein Laufzeitfehler 13
Vermutlich hängt das ganze mit dem varType zusammen, dieser gibt mir 8200 aus!?
Wie kann ich diesen Wert per VBA ändern?
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sharepoint Metadaten per VBA schreiben
19.11.2021 15:54:48
EtoPHG
Hallo Timo,
VBA gut? Kennst Du denn auch die VBA Hilfe?
1. Was du beschreibst ist keine Funktion, sondern eine Eigenschaft
2. Ist diese Eigenschaft nur Lesbar (Readonly), du kannst sie also auch nicht änder!
3. Ist der Return-Wert eine Collection und kann darum auch nicht einfach 'ausgedruckt' werden!
Gruess Hansueli
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

SharePoint Metadaten per VBA verwalten


Schritt-für-Schritt-Anleitung

Um SharePoint Metadaten per VBA zu schreiben, kannst Du die folgende Schritt-für-Schritt-Anleitung befolgen. Stelle sicher, dass Du über die notwendigen Berechtigungen in SharePoint verfügst und Deine Excel-Version VBA unterstützt.

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Erstelle ein neues Modul: Klicke auf Einfügen und wähle Modul.

  3. Füge den folgenden Code ein:

    Sub SchreibeSharePointMetadaten()
       Dim ws As Worksheet
       Set ws = ActiveSheet
    
       ' Beispiel: Metadaten aus einer Zelle zuweisen
       Dim linkLetzterBericht As String
       linkLetzterBericht = ws.Range("A1").Value 
    
       ' SharePoint Metadaten schreiben
       ActiveWorkbook.ContentTypeProperties("Link letzter Bericht").Value = linkLetzterBericht
    End Sub
  4. Führe das Makro aus: Drücke F5, um das Makro auszuführen.

Beachte, dass Du möglicherweise anpassen musst, wie Du die SharePoint Metadaten erstellen möchtest, abhängig von der Struktur Deiner SharePoint-Bibliothek.


Häufige Fehler und Lösungen

  1. Laufzeitfehler 13: Dieser Fehler tritt auf, wenn Du versuchst, den Wert einer Readonly-Eigenschaft zu ändern. Achte darauf, dass die Eigenschaft, die Du verwendest, schreibgeschützt ist.

  2. VBA VarType 8200: Wenn Du den Wert eines Hyperlinks abfragen möchtest, kann der VarType 8200 (Typ Object) zurückgegeben werden. Du kannst diesen Wert nicht direkt ändern. Stattdessen solltest Du sicherstellen, dass Du den richtigen Datentyp verwendest, um die Metadaten in SharePoint zu aktualisieren.


Alternative Methoden

Wenn Du SharePoint Metadaten automatisch aktualisieren möchtest, kannst Du auch Power Automate in Betracht ziehen. Mit Power Automate kannst Du Workflows erstellen, die Daten zwischen Excel und SharePoint synchronisieren, ohne dass VBA erforderlich ist.

  1. Gehe zu Power Automate: Melde Dich an und erstelle einen neuen Flow.
  2. Wähle Trigger und Aktionen: Wähle einen Trigger, der auf Änderungen in Deiner Excel-Datei reagiert, und füge eine Aktion hinzu, um SharePoint Metadaten zu aktualisieren.

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du SharePoint Metadaten mit VBA aktualisieren kannst:

Sub UpdateSharePointMetadata()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Tabelle1")

    ' Name und Link des Berichts
    Dim berichtName As String
    Dim berichtLink As String
    berichtName = ws.Range("B1").Value
    berichtLink = ws.Range("C1").Value

    ' Metadaten aktualisieren
    ActiveWorkbook.ContentTypeProperties("Bericht Name").Value = berichtName
    ActiveWorkbook.ContentTypeProperties("Link letzter Bericht").Value = berichtLink
End Sub

Dieses Skript aktualisiert die SharePoint Metadaten basierend auf den Werten in den Zellen B1 und C1.


Tipps für Profis

  • Verwende Debug.Print: Nutze Debug.Print, um Werte in der Konsole auszugeben und die Rückgabewerte von SharePoint Metadaten zu überprüfen.

  • Verstehe die Eigenschaften: Informiere Dich über die verschiedenen Eigenschaften von ContentTypeProperties, um sicherzustellen, dass Du die richtigen Metadaten bearbeitest.

  • Dokumentation nutzen: Ziehe die VBA-Hilfe heran, um mehr über die Funktionen und Eigenschaften zu erfahren, die Dir zur Verfügung stehen.


FAQ: Häufige Fragen

1. Kann ich SharePoint Metadaten automatisch aktualisieren?
Ja, Du kannst Power Automate verwenden, um SharePoint Metadaten automatisch zu aktualisieren, ohne VBA zu verwenden.

2. Was bedeutet VarType 8200 in VBA?
Der VarType 8200 steht für einen Object-Typ. Dies bedeutet, dass der Rückgabewert ein Objekt ist, das nicht direkt geändert werden kann.

3. Welche Excel-Version benötige ich für diese VBA-Skripte?
Die VBA-Skripte sollten in Excel 2010 oder höher funktionieren, da diese Versionen die notwendigen Funktionen unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige