Makro Pdf erzeugen und als Email-Anhang in Outlook

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Makro Pdf erzeugen und als Email-Anhang in Outlook
von: Sebastian
Geschrieben am: 24.07.2015 16:03:44

Hallo zusammen,
ich habe ja nun schon mal mein Problem geschildert. Nun versuche ich es einfach nochmal. Vielleicht kann mir ja jemand helfen.
Ich möchte ein Makro schreiben, welches ermöglicht, das aktive Arbeitsblatt als Pdf zu drucken und gleichzeitig als Email-Anhang in Outlook bereitstellt. Nun bin ich soweit gekommen, dass zwar die Pdf mit dem entsprechenden Namen erstellt wird, jedoch tut sich nix mehr in Hinblick auf Outlook. Ich möchte gerne den Empfäger aus einer Zelle beziehen, sowie CC einsetzen. Der Betreff soll den Namen der Datei haben.
Optimal wäre noch als "Body" eine Art Anrede, is aber kein muß.
Im Debuggen-Modus werde ich auf den Fehler in ".Attachments.Add pdfName" hingewiesen. Leider weiß ich hier nicht weiter.
Viele Dank für eure Hilfe.
Gruß, Sebastian
Aktuell bin ich soweit:

Sub AlsPDFSpeichernundSenden()
Dim pdfName As String
Dim pdfOpenAfterPublish As Boolean
Dim olApp As Object
Rem Rückfragen, ob Datei nach dem Erstellen geöffnet werden soll
If MsgBox("Soll die PDF-Datei nach dem Erstellen angezeigt werden?", vbYesNo, "PDF anzeigen?") = _
 vbYes Then pdfOpenAfterPublish = True
Rem Pfad und Name der PDF-Datei
pdfName = Range("H2") & "_" & Range("Y3") & "_" & Range("Y2") & ".pdf"
Rem PDF-Datei erstellen. Funktioniert nur in Excel 2007 oder höher, nicht in Excel 2003 oder ä _
lter
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, FileName:=pdfName, _
                                   Quality:=xlQualityStandard, IncludeDocProperties:=False,  _
IgnorePrintAreas:=False, _
                                   OpenAfterPublish:=IIf(pdfOpenAfterPublish, True, False)
                                   
                                   
Rem Email erstellen
Set olApp = CreateObject("Outlook.Application")
    With olApp.CreateItem(0)
              .TO = Range("AI2").Value
              .CC = "max.mustermann@musterfirma.de" & "marie.mustermann@musterfirma.de"
              .Subject = "Name der Datei?"
              .htmlBody = "Sehr geehrte Damen und Herren,anbei mein Tagesnachweis zur weiteren  _
Verwendung."
              .Attachments.Add pdfName
              .Display
    
    End With
              
Rem Boolean-Variable "pdfOpenAfterPublish" zurücksetzen
pdfOpenAfterPublish = False
End Sub

Bild

Betrifft: hmm..
von: Raphael H
Geschrieben am: 24.07.2015 23:32:54
Hallo Sebastian,
da er dir einen Fehler im Attachments.Add anzeigt würde ich davon ausgehen, dass der Dateipfad nicht korrekt ist. Wahrscheinlich steht in den Zellen H2 etc nur wie die Datei heisst, aber keine Pfadbezeichnung wie C:\Users\Pfad\XXXX.pdf


.Subject = Range("H2") & "_" & Range("Y3") & "_" & Range("Y2") & ".pdf"
......
.Body = "Sehr geehrte Damen und Herren
An und für sich hast du ja schon alles soweit ich das sehe.
Gruess
Raphael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Makro Pdf erzeugen und als Email-Anhang in Outlook"