Thema Datum  Von Nutzer Rating
Antwort
30.01.2025 06:55:38 Nadine
NotSolved
30.01.2025 07:24:13 Gast94489
NotSolved
Rot Serienbrief als PDF und Mail versenden
30.01.2025 07:52:23 Gast22752
NotSolved
31.01.2025 00:15:34 Gast94489
Solved

Ansicht des Beitrags:
Von:
Gast22752
Datum:
30.01.2025 07:52:23
Views:
160
Rating: Antwort:
  Ja
Thema:
Serienbrief als PDF und Mail versenden

Hallo Gast94489,

lieben Dank für deine Hilfe. Ja im Internet gibt es dazu tausend VBA Codes, die ich alle mal drin hatte und dadurch immer mehr verwirrt wurde. Ich habe nun den Mailtteil nach Activdocument.close gesetzt und er springt da immer wieder raus und gibt mir eine Fehlermeldung aus. Code Fehler ist: "ElseIf Err.Number = 5852 Then MsgBox "Das Dokument ist kein Serienbrief""

Hab ich was falsch definiert oder fehlt noch was?

Option Explicit
 
Private Const Path_PDF As String = "mein Pfad"
 
Sub Serienbrief_im_PDF_Format_speichern()
Dim S As String
Dim DD As Double
Dim SS As Single
Dim AppShell As Object
Dim BrowseDir As Variant
Dim Path As String
Dim MyMessage As Object, MyOutApp As Object
 
 On Error GoTo ErrorHandling
  
 Path = Path_PDF & "mein Ordner\"
 
 DD = Timer / 86400
 SS = Timer - Int(Timer)
 Debug.Print Hour(DD) & ":" & Minute(DD) & ":" & Format(Second(DD) + SS, "00.00")
 Application.Visible = False
 
 With ActiveDocument.MailMerge
  .DataSource.ActiveRecord = 1
  Do
   .Destination = wdSendToNewDocument
   .SuppressBlankLines = True
   With .DataSource
    .FirstRecord = .ActiveRecord
    .LastRecord = .ActiveRecord
    S = Path & .DataFields("Name").Value & "," & .DataFields("Vorname").Value & ".pdf"
   End With
   .Execute Pause:=False
   If .DataSource.DataFields("Name").Value > "" Then
    ActiveDocument.SaveAs FileName:=S, FileFormat:=wdFormatPDF
   End If
   ActiveDocument.Close False
__________________________________________________________________
‘Mail erstellen  
  Set MyOutApp = CreateObject("Outlook.Application")
    'Outlook Nachricht erstellen
    Set MyMessage = MyOutApp.CreateItem(0)
    With MyMessage
        .SentOnBehalfOfName = Absender definiert
        .To = .DataFields("Email").Value
        .Subject = "mein Text"
        .HTMLBody = .DataFields("Mailanrede").Value & .DataFields("Anrede").Value & .DataFields("Titel").Value & .DataFields("Name").Value & "<html><body><br><br>Das beigefügte Empfangsbekenntnis bitte ich bis zum 31.01.2025 gezeichnet zurückzusenden.<br><br>Für Fragen stehe ich gern zur Verfügung.<br></body></html>" & .HTMLBody
        .AddAttachment = S
        .Display
End With
___________________________________________________________________________
   If .DataSource.ActiveRecord < .DataSource.RecordCount Then
    .DataSource.ActiveRecord = wdNextRecord
   Else
    Exit Do
   End If
  Loop
 End With
 
 ' error handling
ErrorHandling:
 Application.Visible = True
 DD = Timer / 86400
 SS = Timer - Int(Timer)
 Debug.Print Hour(DD) & ":" & Minute(DD) & ":" & Format(Second(DD) + SS, "00.00")
 
 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
 

 


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
30.01.2025 06:55:38 Nadine
NotSolved
30.01.2025 07:24:13 Gast94489
NotSolved
Rot Serienbrief als PDF und Mail versenden
30.01.2025 07:52:23 Gast22752
NotSolved
31.01.2025 00:15:34 Gast94489
Solved