SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Sharepoint mit VBA

Unbeantwortet Dieser Beitrag hat 4 Antworten

Ohne Rang
3 Beiträge
UncleJohn erstellt 6 Jan. 2016 08:29
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

die liebe Google-Suche hat mir bislang leider keine brauchbaren Ergebnisse geliefert, daher wende ich mich mal hier an die Community. Ich habe folgendes Problem/Anforderung:

Ich habe eine Dokumentenbibliothek mit etlichen Dokumenten. Diese besitzen unterschiedliche Inhaltstypen.

1. Frage: Kann man per VBA o.Ä. den Inhaltstyp nachträglich ändern?

Das nächste Problem stellt sich wie folgt dar: Ich möchte die Dokumente automatisch verschlagworten. Ich habe in der Bibliothek mehrere Spalte erzeugt, die ich nun aus Teilen des Dateinamens befüllen möchte.

2. Frage: Hat jemand zufällig schon entsprechend passenden Code (vorzugsweise VBA) produziert, mit Hilfe dessen sich diese Anforderung lösen lässt? Kann mir ansonsten jemand Hinweise / Code-Teile liefern, mit denen ich generell auf die Dokumentenbibliothek und dessen Inhalt zugreifen kann?

Vielen Dank vorab!

MfG

Michael

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 10 Jan. 2016 12:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Eines mal vorweg: VBA gibt es nur innerhalb von Office und kann nicht für SharePoint verwendet werden. Man kann höchstens VB.NET verwenden, das eine ähnliche Syntax hat, aber empfehlen würde ich nur C#.

Zu den Fragen:

1. man kann Inhaltstypen jederzeit nachträglich ändern. Wie genau soll das denn ablaufen?

2. Du willst also per Programmcode irgendwie automatisch Verschlagworten? Auch hier wieder die Frage, wie genau soll das denn ablaufen? Es gibt in SharePoint z.B. sog. EventReceiver, die automatisch bei Neuanlage oder Änderung Code ausführen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
3 Beiträge
UncleJohn Als Antwort am 11 Jan. 2016 07:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das Ganze soll so ablaufen, dass ich über alle Dokumente meiner Dokumentenbibliothek iterieren möchte (auch und gerade alle in den Unterordnern) und bei jedem Dokument ggf. den Inhaltstyp ändern und entsprechende Spalten mit Werten füllen will. Zum Teil ergeben sich die Spaltenwerte aus dem Dateinamen.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 11 Jan. 2016 08:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich würde das mit PowerShell machen, das dürfte am einfachsten sein. Aber trotzdem braucht es natürlich eine gewisse Kenntnis des SharePoint-Objektmodells (und natürlich PowerShell).

So kommst Du an das Web:
$web = Get-SPWeb http://sharepoint/website

dann an die Bibliothek:
$lib = $web.Lists["Name der Bibliothek"]

Jetzt kannst Du z.B. mit einer simplen Schleife über alle Elemente gehen:
$items = $lib.Items
foreach ($item in $items) {

}

An die einzelnen Werte der Elemente (also an die Metadaten) kommst Du so:
$title = $item["Title"]

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
3 Beiträge
UncleJohn Als Antwort am 11 Jan. 2016 08:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Mit Powershell kenn ich mich leider so gar nicht aus... :D

Trotzdem danke!