Clever-Excel-Forum

Normale Version: [VBA] PDF mit Datum erstellen + versenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen Forum,

ich bin mal wieder auf ein Problem gestoßen.
Folgendes: mein Button, mit dem ich eine PDF erzeuge und diese anschließend verschicke steht und funktioniert. Nun möchte ich aber die PDF mit dem tagesaktuellem Datum haben und verschicken.
Code:
Sub email_versenden()

Dim oApp As New Outlook.Application
Dim oMail As Outlook.MailItem
Dim strPDF As String

Set oMail = oApp.CreateItem(olMailItem)

'PDF Erzeugen

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  ThisWorkbook.Path & "\2022_Bericht_" & Format(Now, "YYYY_MM__DD") & ".pdf", Quality:=xlQualityStandard _
  , IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
  :=False
 
strPDF = ThisWorkbook.Path & "\2022_Bericht_" & Format(Now, "YYYY_MM_DD") & ".pdf"

With oMail
    .Save
    .BodyFormat = olFormatHTML
    .To = "Adressen in VBA eintragen!"
    .CC = "Adressen in VBA eintragen!"
    .Subject = "Tagesübersicht"
    .HTMLBody = "Liebe Kollegen, anbei befindet sich die tagesaktuelle Übersicht."
    .Attachments.Add ThisWorkbook.FullName
    .Attachments.Add strPDF
    .Display
   
Kill strPDF
   
End With
   
End Sub

Im Hintergrund wird auch eine PDF erstellt, dann kommt aber die Fehlermeldung, dass die Datei nicht gefunden werden kann. Das liegt schätze ich mal an 
.Attachments.Add strPDF, da der Name doch etwas anders ist als in der Definition strPDF  = ThisWorkbook.Path & "\2022_Bericht_.pdf".
Da fehlt dem Programm schätze ich die Information mit dem Datum... wie krieg ich das denn dort rein?  Huh

Edit: hat sich erledigt, Code wurde etwas abgeändert.


Code:
Sub email_versenden()

Dim oApp As New Outlook.Application
Dim oMail As Outlook.MailItem
Dim strPDF As String

Set oMail = oApp.CreateItem(olMailItem)

'PDF definieren

strPDF = ThisWorkbook.Path & "\" & Format(Date, "yyyy_mm_dd") & "_Bericht.pdf"

'PDF Erzeugen

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  strPDF, Quality:=xlQualityStandard _
  , IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
  :=False
 

With oMail
    .Save
    .BodyFormat = olFormatHTML
    .To = "Adressen in VBA eintragen!"
    .CC = "Adressen in VBA eintragen!"
    .Subject = "Tagesübersicht"
    .HTMLBody = "Liebe Kollegen, anbei befindet sich die tagesaktuelle Übersicht."
    .Attachments.Add ThisWorkbook.FullName
    .Attachments.Add strPDF
    .Display
   
Kill strPDF
   
End With
   
End Sub