Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Seriendruck in Excel mittels Makro?
#1
Hallo Forum,

eine Freundin von mir erstellt für Festivals unzählige Arbeitsverträge für kurzfristige Beschäftigungen - allein da gibt es 4 verschiedene Dokumente für mehr als 100 Mitarbeiter.
Ich habe bereits ein paar Erleichterungen gebaut und übernehme die Personaldaten mittels PQ-Abfrage in Excel, damit daraus später ein Serienbrief erzeugt werden kann.

In Word ist dann wiederum ein Makro, damit für jedes Dokument eine PDF aus (Dateiname = Name, Vorname, Festival und Startdatum) erzeugt wird.

Ist euch ein Makro bekannt oder wie aufwändig wäre es, wenn man so ein Tool nur in einer Excel Datei bauen würde? Also alle 4 Dokumente in Excel und nach der Serienbrief Methode für jeden Empfänger einzeln die Formulare als PDF speichert?

Oder macht das keinen Sinn?

Danke für eure Ideen vorab Smile
Antworten Top
#2
Hallo,

also ich würde das schon in Word lassen, ist dort einfacher zu gestalten.
Einfach als Serienbrief herrichten.

Danach kannst Du z.B. mit folgendem Word Makro jeden Datensatz Seperat als PDF Speichern.
(Im Beispielcode wird der Name des PDFs aus Feld 1 und Feld 2 im Serienbrief zusammengesetzt - das musst Du halt entsprechend anpassen)

Code:
Sub Makro1()

    pfad = ActiveDocument.Path
    DName = ActiveDocument.Name

    merk_ViewMail = ActiveDocument.MailMerge.ViewMailMergeFieldCodes
    ActiveDocument.MailMerge.ViewMailMergeFieldCodes = 0
   
    ActiveDocument.MailMerge.DataSource.ActiveRecord = wdLastRecord
   
    anzahl = ActiveDocument.MailMerge.DataSource.ActiveRecord
   
    ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord

    For i = 1 To anzahl
        ActiveDocument.MailMerge.DataSource.ActiveRecord = i
       
        'Speicherzusatz auslesen
        dat1 = ActiveDocument.MailMerge.DataSource.DataFields(1)
        dat2 = ActiveDocument.MailMerge.DataSource.DataFields(2)
        '....
        Zusatz = dat1 & "_" & dat2
        DName = "Serienbrief"

        'Als PDF Speichern
        ActiveDocument.ExportAsFixedFormat OutputFileName:=pfad & "/" & DName & "_" & Zusatz & ".pdf" _
        , ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False
    Next

    ActiveDocument.MailMerge.ViewMailMergeFieldCodes = merk_ViewMail
End Sub

LG
Norbert
Antworten Top
#3
Hallo Norbert,
ein Makro für Word habe ich, das klappt auch ganz gut - danke trotzdem Smile.

Dachte nur, dass man 4 Dokumente ggf. einfacher in Excel Blätter erfassen oder eine Userform dafür bauen könnte.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste