Clever-Excel-Forum

Normale Version: 2 PDF erzeugen von 2 Arbeitsblättern erzeugen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
ich habe ein Makro in eine Excel Arbeitsmappe eingebaut (aus dem Internet) um eine PDF zu erzeugen und diese zu versenden.
Das hat bis jetzt auch super geklappt, bis jemant auf die Idee gekommen ist ein zweites Arbeitsblatt in der gleichen Mail versenden zu wollen.
Leider habe ich keine Ahnung wie ich das anstellen soll, da mir immer wieder fehler ausgegeben werden. Die erste PDF heißt "Laufzettel" und die andere soll "Antrag" heißen.
Ich habe hier auch meine bisherigen Code teilweise angehängt.

Vielen Dank schonmal für eure Hilfe. :15:



Code:
Sub e_Mail()

'** Dimensionierung der Variablen
Dim strPDF As String
Dim OutlookApp As Object, strEmail As Object

'** Vorgaben definieren
Set OutlookApp = CreateObject("Outlook.Application")
Set strEmail = OutlookApp.CreateItem(0)

'** PDF erzeugen
Sheets("Laufzettel").Range("A1:G53").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  ThisWorkbook.Path & "\Laufzettel.pdf", Quality:=xlQualityStandard _
  , IncludeDocProperties:=True, IgnorePrintAreas:=True, OpenAfterPublish _
:=False

'** E-Mail versenden
strPDF = ThisWorkbook.Path & "\Laufzettel.pdf"
With strEmail
   .To = [M37]
   .cc = [M38] & ("; ") & [M39] & ("; ") & [M40]
 .Attachments.Add strPDF
  .Display
    Kill strPDF
End With
 
'** Objektvariablen wieder löschen
Set OutlookApp = Nothing
Set strEmail = Nothing
End Sub
Hallöchen,

ich würde zuerst mal diesen Teil duplizieren und auf den anderen Blatt- und Dateinamen ändern
'** PDF erzeugen
Sheets("Laufzettel").Range("A1:G53").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  ThisWorkbook.Path & "\Laufzettel.pdf", Quality:=xlQualityStandard _
  , IncludeDocProperties:=True, IgnorePrintAreas:=True, OpenAfterPublish _
:=False

und dann noch diese Zeile duplizieren und anpassen
 .Attachments.Add strPDF
Die variable ist eventuell nicht notwendig - setze die Inhalte direkt ein.
Ansonsten kannst Du die Variable auch unmittelbar vor dem Anhängen füllen, brauchst ja zwei verschiedene Dateien Smile

z.B., so
strPDF = ThisWorkbook.Path & "\Laufzettel.pdf"
.Attachments.Add strPDF
strPDF = ThisWorkbook.Path & "\Antrag.pdf"
.Attachments.Add strPDF