vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Word   |   VB-Versionen: VBA01.10.10
Serienbrief in Word 2007 mit Sharepoint Quelle

Ein kleines Makro, welches erlaubt, eine in Sharepoint eingebettete Excel-Datei als Serienbrief-Quelle zu benutzen.

Autor:   wasaBewertung:     [ Jetzt bewerten ]Views:  18.968 
www.webschef.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11kein Beispielprojekt 

Ich stand vor dem Problem, ein Serienbrief zu erstellen, allerdings sollte dabei die Quelldatei (Excel) im Sharepoint liegen. Über den normalen Weg (Sendungen - Empfänger auswählen - vorhandene Liste verwenden) kam immer eine Fehlermeldung, dass die Datei nicht gefunden werden konnte.

Dies lag am Pfad begründet.
Word kann in diesem Beispiel nichts mit einem Webpfad anfangen http://meinsharepointserver/Produktion/logistik.xls, sondern benötigt in dem Fall des Serienbriefs einen Netzwerkpfad. Wenn ich obengenannten Pfad umwandle in \\meinsharepointserver\Produktion\logistik.xls funktioniert alles reibungslos.

Um dies etwas komfortabler zu gestalten, habe ich daraus ein Makro erstellt.

Option Explicit
 
Dim dlgDatei As FileDialog
Dim strPfad As String
 
Public Sub serienbrief_sharepoint_quelle()
  Set dlgDatei = Application.FileDialog(msoFileDialogOpen)
  ' Dialog anzeigen lassen und prüfen ob User OK / Abbrechen geklickt hat
  If dlgDatei.Show = -1 Then 
    ' kompletten Pfad der ausgewählten Datei im Dialog abspeichern
    strPfad = dlgDatei.SelectedItems(1)
    strPfad = Replace(strPfad, "/", "\")
    strPfad = Replace(strPfad, "http:", "")
    ' der Anwendung / dem Dokument die Datenquelle für den Serienbrief zuweisen
    Application.ActiveDocument.MailMerge.OpenDataSource (strPfad)
  End If
End Sub