Hallo,
du kannst keine Aktionen, die du in anderen Applikationen ausfuehrst mit dem Makro Recorder aufzeichnen. Nur Excel Befehle oder Aktionen. Um, wie in diesem Fall, im Nachhinein die gespeicherte PDF als Email Anhang zu versenden, bedarf es einiger Vorbereitung und mehr Code, da sozusagen Outlook ferngesteuert werden muss.
1. muss eine Referenz in der Excel Datei zur Outlook Objekt Bibliothek gesetzt werden, damit Aktionen von Excel aus in Outlook per VBA stattfinden koennen. Das wird gemacht, indem man im VB Editor unter Werkzeuge-Referenzen den Eintrag "Microsoft Outlook 16.0 Object Library" sucht, diesen anhakt und mot OK bestaetigt.
2. braucht es etwas mehr Code. Ich erstelle dir mal das Makro. Aber bitte versuche auch, dieses zu verstehen. Ich versuche, so viel wie moeglich Kommentare einzufuegen, damit du nachkommst.
Sub PDF_per_Mail()
'Variablendeklaration
Dim Pfad As String, Datei As String
Dim Nachricht As Object, OutApp As Object
'Fuellen der Variablen Pfad und Datei
Pfad = "C:\Users\feyerabenc\AppData\Local\Temp\"
Datei = "Vorlage Entladebericht 01.08.2019 - TEST.pdf"
'Speichern des aktiven Workbooks als PDF
With ActiveWorkbook
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Pfad & Datei, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=True
End With
'Outlook ansteuern und die Email erstellen
Set OutApp = CreateObject("Outlook.Application") 'Outlook aufrufen
Set Nachricht = OutApp.CreateItem(0) 'Nachricht erstellen
With Nachricht
.To = "irgendwer@provider" 'Email Adresse eingeben
.Subject = "Testmeldung" 'Betreff eintragen
.Attachments.Add Pfad & Datei 'hier wird die erstellte PDF angehaengt
.Body = "Dein Text" 'Email Text
.Display 'Hier wird die Mail nochmals angezeigt, wenn du gleich versenden willst "Display" durch "Send" ersetzen
End With
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub
Viel Spass
Gruss Torsten
|