proflash
Goto Top

Word Makro um Serienbriefe in einzelnen PDFs speichern

Hallo zusammen,

ich benötige eure Hilfe. Ich bin auf der Suche nach einer Lösung (am besten mit Word) Serienbriefe als einzelne PDFs zu speichern. Wir haben bei uns in der Firma Office 2019. Die Daten für den Serienbrief kommt aus einer Excel Liste.

Ich habe im Netz folgendes Makro gefunden:

Option Explicit

Sub Serienbrief()
' set variables  
Dim iBrief As Integer, sBrief As String
Dim AppShell As Object
Dim BrowseDir As Variant
Dim Path As String
On Error GoTo ErrorHandling ' erfasse irgendwelche Fehler  

' Pfad bestimmen  
Set AppShell = CreateObject("Shell.Application")  
Set BrowseDir = AppShell.BrowseForFolder(0, "Speicherort für Serienbriefe auswählen", 0, 16)  

If BrowseDir = "Desktop" Then  
Path = CreateObject("WScript.Shell").SpecialFolders("Desktop")  
Else
Path = BrowseDir.items().Item().Path
End If

If Path = "" Then GoTo ErrorHandling  

Path = Path & "Serienbrief-" & Format(Now, "dd.mm.yyyy-hh.mm.ss") & ""  
MkDir Path

On Error GoTo ErrorHandling

' Anwendung ausblenden für bessere Leistung  
MsgBox "Serienbriefe werden exportiert. Dieser Vorganag kann einige Minuten dauern - Microsoft Word wird während dieser Zeit ausgeblendet", vbOKOnly + vbInformation  
Application.Visible = False

' Erstellen Sie Serienbrief und exportieren Sie als PDF  
With ActiveDocument.MailMerge
.DataSource.ActiveRecord = 1
Do
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = .ActiveRecord
.LastRecord = .ActiveRecord
sBrief = Path & .DataFields("Firma").Value & " - " & .DataFields("Ort").Value & ".pdf"  
End With
.Execute Pause:=False

If .DataSource.DataFields("Firma").Value & " - " & .DataSource.DataFields("Ort").Value > "" Then  
ActiveDocument.SaveAs FileName:=sBrief, FileFormat:=wdFormatPDF
End If
ActiveDocument.Close False

If .DataSource.ActiveRecord < .DataSource.RecordCount Then
.DataSource.ActiveRecord = wdNextRecord
Else
Exit Do
End If

If .DataSource.ActiveRecord Mod 5 = 0 Then
DoEvents
End If

Loop
End With

' error handling  
ErrorHandling:
Application.Visible = True

If Err.Number = 76 Then
MsgBox "Der ausgewählte Speicherort ist ungültig", vbOKOnly + vbCritical  
ElseIf Err.Number = 5852 Then
MsgBox "Das Dokument ist kein Serienbrief"  
ElseIf Err.Number = 4198 Then
MsgBox "Der ausgewählte Speicherort ist ungültig", vbOKOnly + vbCritical  
ElseIf Err.Number = 91 Then
MsgBox "Exportieren von Serienbriefen abgebrochen", vbOKOnly + vbExclamation  
ElseIf Err.Number > 0 Then
MsgBox "Unbekannter Fehler: " & Err.Number & " - Bitte Makro erneut ausführen.", vbOKOnly + vbCritical  
Else
MsgBox "Serienbriefe erfolgreich exportiert", vbOKOnly + vbInformation  
End If

End Sub

Leider funktioniert es bei mir nicht. Ich kenne mich leider 0,01 % mit Makros aus und würde mich über eure Hilfe freuen.

Quelle: https://www.office-hilfe.com/support/threads/serienbriefe-in-einzelne-pd ...

Vielen Dank schon mal.

Content-Key: 2279680949

Url: https://administrator.de/contentid/2279680949

Printed on: April 26, 2024 at 13:04 o'clock

Member: beidermachtvongreyscull
beidermachtvongreyscull Mar 25, 2022 at 11:01:27 (UTC)
Goto Top
Hey,

probiere doch mal das hier:
https://www.formletter2pdf.com/
Member: ProFlash
Solution ProFlash Mar 30, 2022 at 13:10:34 (UTC)
Goto Top
Hallo leider ist deine Vorgeschlagene Seite bei uns gesperrt.
Allerdings habe ich den Fehler inzwischen selbst gefunden.

Ich musste noch ein paar Parameter anpassen die ich vorher übersehen hatte.

Aber trotzdem danke für deine/eure Mühe. :D