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

Sheet als PDF per E-Mail versenden

Sheet als PDF per E-Mail versenden
12.04.2018 11:42:06
Linda
Hi Zusammen,
ich möchte gerne per VBA mein aktuelles Tabellenblatt als PDF an einem bestimmten Ort abspeichern und per E-Mail weiterleiten.
Mein PDF wird richtig erstellt und abgespeichert. Outlook öffnet sich und im Anhang befindet sich nicht die PDF sondern die komplette Excel-Mappe als xlsm. Weiß jemand weiter....?
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & "aktuelle Info" & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False

Application.Dialogs(xlDialogSendMail).Show "Email@Email.de", "Hallo, .....!"

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheet als PDF per E-Mail versenden
12.04.2018 12:07:08
Rudi
Hallo,
das geht nicht über den Dialog.
Für Outlook:
Sub yyy()
Dim strFile As String
strFile = ThisWorkbook.Path & "\" & "aktuelle Info" & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFile, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Call SendMail_OL(strTO:="email@email.de", strSUBJECT:="Hallo....", strTEXT:="Testtext",  _
strATT:=strFile)
End Sub
Sub SendMail_OL(strTO As String, _
strSUBJECT As String, _
Optional strTEXT As String, _
Optional strCC As String, _
Optional strBCC As String, _
Optional strATT As String)
'strTo, strCC, strBCC, strATT mit ; getrennt
Dim objMessage As Object, objOutApp As Object, i As Integer, arrAtt
'Outlook Object erstellen
Set objOutApp = CreateObject("Outlook.Application")
'Outlook Nachricht erstellen
Set objMessage = objOutApp.CreateItem(0)
With objMessage
'Empfänger
.To = strTO
'Kopie
If Len(strCC) Then
.CC = strCC
End If
'Blindkopie
If Len(strCC) Then
.BCC = strBCC
End If
'Betreff
.Subject = strSUBJECT
If Len(strATT) Then
arrAtt = Split(strATT, ";")
For i = LBound(arrAtt) To UBound(arrAtt)
.Attachments.Add Trim(arrAtt(i))
Next
End If
If Len(strTEXT) Then
'Hier wird ein normaler Text erstellt
.Body = strTEXT
End If
If Len(strTEXT) Then
'Hier wird eine HTML Mail erstellt
'Dies kann zu Problemen führen, wenn der Empfänger nur TEXT Dateien empfangen darf.
'.htmlbody = strTEXT
End If
'Hier wird die Mail nochmals angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt und gesendet
'.Send
End With
'Outlook schliessen
'MyOutApp.Quit
'Variablen leeren
Set objOutApp = Nothing
Set objMessage = Nothing
End Sub

Gruß
Rudi
Anzeige
AW: Sheet als PDF per E-Mail versenden
12.04.2018 13:41:28
Linda
Mensch Rudi, du bist spitze :-)
Es funktioniert perfekt und Dank deiner ausführlichen Beschreibung kann es sogar ein Anfänger, wie ich , verstehen.....
AW: Sheet als PDF per E-Mail versenden
12.04.2018 12:07:33
mumpel
Hallo!
Du nutzt ja auch "Application.Dialogs(xlDialogSendMail).Show", und da bekommst Du die ganze Arbeitsmappe als Anhang.
Google mal nach "Aktive Tabelle als PDF per Outlook", da findest Du die richtige Vorgehensweise. Kannst Du auch im Forenarchiv reichlich finden.
Gruß, René

345 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige