Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel Sheet als PDF versenden

Excel Sheet als PDF versenden
30.03.2021 07:52:53
Niklas
Hallo zusammen,
da ich recht wenig Erfahrung habe, frage ich hier im Forum nach und wäre über jede Hilfe sehr dankbar.
Ich würde gerne eine mittels eines Codes eine Excel-Datei temporär als PDF-Dokument abspeichern und diese dann als Anhang in eine Mail packen.
Mein bisheriger Code sieht so aus:
Sub Excel_als_Mail()
Dim strBlatt As String
Dim strDatei As String
Dim strPfad As String
Dim outObj As Object
Dim Mail As Object
Dim strBodyText As String
Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
strPfad = "Beispieldateipfad"
strBlatt = ActiveSheet.Name
Sheets(strBlatt).Copy
ActiveWorkbook.SaveAs strPfad & "\" & ActiveSheet.Name
strDatei = ActiveWorkbook.FullName
strBodyText = "Hallo, dies ist ein Test!"
With Mail
'.To = ""
'.CC = ""
.Subject = ""
.BodyFormat = 2
.Attachments.Add strDatei
.Body = strBodyText
End With
Workbooks(Dir(strDatei)).Close
Kill (strDatei)
Mail.Display
End Sub
Das Ganze funktioniert auch ohne Probleme, jedoch weiß ich nicht, wie ich die Datei als PDF temporär speichere und nicht als Excel-Datei.
Ich wäre über jede Hilfe dankbar!
Mit freundlichen Grüßen
Niklas

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Sheet als PDF versenden
30.03.2021 08:10:03
Klaus
Hallo Niklas,
mach den Makrorekorder an, speichere als PDF, Makrorekorder wieder aus.
ActiveWorkbook.SaveAs strPfad & "\" & ActiveSheet.Name
ersetzt du dann gegen den PDF-Speichern Code.
strDatei
muss natürlich den PDF-Dateinamen enthalten.
Das "Kill" funktioniert mit der PDF genauso.
Schaffst du es selber oder brauchst du Hilfe?`
LG,
Klaus M.

Anzeige
AW: Excel Sheet als PDF versenden
30.03.2021 08:33:08
Niklas
Hallo Klaus,
zunächst vielen Dank für deinen Tipp.
Ich habe den Code jetzt entsprechend angepasst und der Anhang ist nun auch im PDF-Format.
Der Code sieht nun wie folgt aus:
Sub einzelnes_Blatt_senden()
Dim strBlatt As String
Dim strDatei As String
Dim strPfad As String
Dim outObj As Object
Dim Mail As Object
Dim strBodyText As String
Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
strPfad = "Beispielpfad"
strBlatt = ActiveSheet.Name
Sheets(strBlatt).Copy
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
strPfad & "\" & "Testdatei.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
strDatei = strPfad & "\" & "Testdatei.pdf"
strBodyText = "Hallo, dies ist ein Test!"
With Mail
'.To = ""
'.CC = ""
.Subject = ""
.BodyFormat = 2
.Attachments.Add strDatei
.Body = strBodyText
End With
Workbooks(Dir(strDatei)).Close
Kill (strDatei)
Mail.Display
End Sub
Jedoch lässt sich der Befehl Workbooks(Dir(strDatei)).Close nun nicht mehr ausführen. Es kommt eine Fehlermeldung.
Kann ich den Befehl auch weglassen oder weißt du möglicherweise, wieso diese Fehlermeldung nun kommt?
Vielen Dank bereits im Voraus! :)
Freundliche Grüße
Niklas

Anzeige
strdatei ist nun keine exceldatei owt
30.03.2021 08:48:17
ralf_b

AW: strdatei ist nun keine exceldatei owt
30.03.2021 08:54:14
Niklas
Vielen Dank für die Hilfe an alle Beteiligten.
Mit freundlichen Grüßen
Niklas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige