SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

Sharepoint mit VBA

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 4 Antworten | 1 Follower

Ohne Rang
3 Beiträge
UncleJohn erstellt in 6 Jan 2016 8:29

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

Top-10-Beitragsschreiber
18.855 Beiträge

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

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.

Top-10-Beitragsschreiber
18.855 Beiträge

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

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

Trotzdem danke!

Seite 1 von 1 (5 Elemente) | RSS