Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
30.01.2025 06:55:38 |
Nadine |
|
|
|
30.01.2025 07:24:13 |
Gast94489 |
|
|
 Serienbrief als PDF und Mail versenden |
30.01.2025 07:52:23 |
Gast22752 |
|
|
|
31.01.2025 00:15:34 |
Gast94489 |
|
|
Von:
Gast22752 |
Datum:
30.01.2025 07:52:23 |
Views:
160 |
Rating:
|
Antwort:
|
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
|
- 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
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- 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 |
|
|
|
30.01.2025 07:24:13 |
Gast94489 |
|
|
 Serienbrief als PDF und Mail versenden |
30.01.2025 07:52:23 |
Gast22752 |
|
|
|
31.01.2025 00:15:34 |
Gast94489 |
|
|