VBA Word zu PDF umwandeln und per E-Mail senden

Wie kann ich ein Word-Dokument mithilfe von VBA in ein PDF umwandeln und anschließend per E-Mail versenden?

Uhr
Um ein Word-Dokument mithilfe von VBA in ein PDF umzuwandeln und anschließend per E-Mail zu versenden, sind mehrere Schritte notwendig. Der vorliegende Code zeigt bereits einen Ansatz freilich scheint es Probleme mit der Definition der Variablen zu geben. Hier ist eine überarbeitete Version, die welche genannten Fehler behebt:

```vba
Option Explicit
Sub Word_Doc_Convert_and_Email()
Dim Emailadresse As String
Dim CCEmailadresse As String
Dim Pfad As String
Dim Name As String
Dim Betreff As String
Dim Nachricht As Object, OutApp As Object
Dim AWS As String

' Hier werden die Variablen definiert und initialisiert
Emailadresse = "Deine@empfängermail.de"
CCEmailadresse = ""
Pfad = "K:\"
Name = "test"
Betreff = "Betreff PDF - " & Name & ".pdf"

' Hier wird geprüft, ob eine Empfänger-E-Mail-Adresse angegeben wurde
If Emailadresse = "" Then
MsgBox "Keine Empfänger-E-Mail-Adresse angegeben.", vbExclamation, "Fehler"
Exit Sub
End If

' Das Word-Dokument wird als PDF gespeichert
On Error Resume Next
ActiveDocument.ExportAsFixedFormat OutputFileName:=Pfad & Name & ".pdf", ExportFormat:=wdExportFormatPDF
If Err.Number <> 0 Then
MsgBox "Fehler beim Speichern des Dokuments als PDF.", vbExclamation, "Fehler"
Exit Sub
End If
On Error GoTo 0

' Die E-Mail wird erstellt und versendet
Set OutApp = CreateObject("Outlook.Application")
AWS = Pfad & Name & ".pdf" ' Anhang der E-Mail

Set Nachricht = OutApp.CreateItem(0) ' 0 für eine neue E-Mail
With Nachricht
.To = Emailadresse
.CC = CCEmailadresse
.Subject = Betreff
.Attachments.Add AWS
.Body = "Dies ist die aktuelle " & Name & ".pdf" & vbCrLf & vbCrLf & "Stand: " & Date
.Send
End With

Set OutApp = Nothing
Set Nachricht = Nothing

MsgBox "Die E-Mail wurde erfolgreich an " & Emailadresse & " versendet!", vbInformation, "Erfolg"
End Sub
```

In dieser überarbeiteten Version des VBA-Codes wurden die Variablen und die Handhabung des PDF-Exports angepasst. Die On-Error-Struktur sorgt dafür, dass Fehler abgefangen und entsprechende Meldungen ausgegeben werden. Durch die Verwendung von `ActiveDocument` wird sichergestellt, dass das aktuelle Word-Dokument in ein PDF konvertiert werden kann.

Wenn Sie diesen Code in Ihrem Word-Dokument ausführen, sollten Sie in der Lage sein, das ausgefüllte Formular als PDF zu speichern und anschließend per E-Mail zu versenden. Bitte beachten Sie, dass Outlook geöffnet sein muss, zu diesem Zweck das Makro ordnungsgemäß funktioniert.

Ich hoffe: Dass Ihnen diese überarbeitete Version des Codes hilft Ihr Ziel zu erreichen. Wenn weiterhin Probleme auftreten – stehe ich gerne für weitere Unterstützung zur Verfügung.






Anzeige