Thema Datum  Von Nutzer Rating
Antwort
Rot Word 2003 Serienbrief als pdf
16.01.2016 19:29:37 Larissa
NotSolved
17.01.2016 19:20:45 BigBen
NotSolved
17.01.2016 19:30:08 BigBen
NotSolved
17.01.2016 20:03:53 Gast81515
NotSolved
17.01.2016 20:16:07 Gast87119
NotSolved
17.01.2016 21:23:28 BigBen
NotSolved
17.01.2016 21:44:20 BigBen
NotSolved

Ansicht des Beitrags:
Von:
Larissa
Datum:
16.01.2016 19:29:37
Views:
1738
Rating: Antwort:
  Ja
Thema:
Word 2003 Serienbrief als pdf
Hallo liebe VBAler,
Für meine Freundin bastele ich an einem Serienbrief in Office 2003.
Es sollen alle Word Serienbriefe als pdf abgespeichert werden und die Bezeichnungen werden aus einer Exceltabelle gezogen.
Mein Makro läuft in Office 2013 super, aber bei ihr werden fehlerhafte Dateien ausgeworfen.
 
Hier ist mein Makro:
 
Sub Serienbrief_im_PDF_Format_speichern()
    ' set variables
    Dim iBrief As Integer, sBrief As String
    Dim AppShell As Object
    Dim BrowseDir As Variant
    Dim Path As String
    
    ' catch any errors
    On Error GoTo ErrorHandling
    
    ' determine path
    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 & "\PDF" & "\" '"\Serienbrief-" & Format(Now, "dd.mm.yyyy-hh.mm.ss") & "\"
    MkDir Path
    
    On Error GoTo ErrorHandling
        
    ' hide application for better performance
    MsgBox "Serienbriefe werden exportiert. Dieser Vorganag kann einige Minuten dauern - Microsoft Word wird während dieser Zeit ausgeblendet", vbOKOnly + vbInformation
    Application.Visible = False
  
    ' create bulkletter and export as pdf
    With ActiveDocument.MailMerge
        .DataSource.ActiveRecord = 1
        Do
            .Destination = wdSendToNewDocument
            .SuppressBlankLines = True
            With .DataSource
                .FirstRecord = .ActiveRecord
                .LastRecord = .ActiveRecord
                sBrief = Path & .DataFields("Firma").Value & ".pdf"
            End With
            .Execute Pause:=False
        
            If .DataSource.DataFields("Firma").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
        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
 
 
Ich hoffe Ihr könnt mir helfen das Makro entsprechend umzuschreiben.
Danke schonmal
Larissa
 
 

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Word 2003 Serienbrief als pdf
16.01.2016 19:29:37 Larissa
NotSolved
17.01.2016 19:20:45 BigBen
NotSolved
17.01.2016 19:30:08 BigBen
NotSolved
17.01.2016 20:03:53 Gast81515
NotSolved
17.01.2016 20:16:07 Gast87119
NotSolved
17.01.2016 21:23:28 BigBen
NotSolved
17.01.2016 21:44:20 BigBen
NotSolved