Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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.

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

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige