Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Exceltabellenblatt aus Excel mit Outlook versenden

Exceltabellenblatt aus Excel mit Outlook versenden
15.05.2017 16:14:47
Hermann
Hallo zusammen,
im Forum habe ich nach einem VBA-Code gesucht, mit dem ich aus Excel heraus
nur das aktuelle Tabellenblatt als .pdf versenden kann.
Bevor es aber versendet wird, soll es mir noch einmal angezeigt werden
um evtl. den "Bodytext" abändern zu können.
Ich habe mir nachfolgenden Code zusammengestellt, der auch funktioniert.
Outlook wird geöffnet, Email mit Dateianhang wird erstellt, Outlooksymbol erscheint in der Taskleiste aber die Exceldatei verbleibt am Bildschirm.
Wenn ich unten auf das Outlooksymbol in der Taskleiste klicke erscheint die Email wie gewünscht.
Frage: Wie bekomme ich das hin, dass die Mail nach dem Erstellen ohne zu klicken sofort am Bildschirm angezeigt wird.
Code:

Sub als_pdf_senden()
Dim strPfad As String
strPfad = Environ("TEMP") 'Speicherort bestimmen
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
strPfad & "\" & ActiveSheet.Name & ".pdf" ', OpenAfterPublish:=False
Dim Outlook As Object
Dim OutlookMailItem As Object
Dim MyAttachments As Object
Set OutlookApp = CreateObject("outlook.application")
Set OutlookMailItem = OutlookApp.CreateItem(0)
Set MyAttachements = OutlookMailItem.Attachments
With OutlookMailItem
.to = Range("A3")
.Subject = "Abrechnung"     'Betreff
.BodyFormat = 2             '2 = HTML, 1 = Text
.Body = ""                  'Email Inhalt
MyAttachements.Add strPfad & "\" & ActiveSheet.Name & ".pdf"
.Display
End With
Kill (strPfad & "\" & ActiveSheet.Name & ".pdf")
Set OutlookApp = Nothing
Set OutlookMailItem = Nothing
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Exceltabellenblatt aus Excel mit Outlook versenden
15.05.2017 19:57:43
Hermann
Hallo zusammen,
bei meinen vielen Versuchen das sofortige Öffnen der Mail zu gewährleisten,
habe ich folgende Punkte rausgefunden.
- Wenn ich nach dem Öffnen der Exceldatei den VBA-Editor öffne und den Curser an einer beliebigen
Stelle setze. Anschließen in die Excelansicht wechsle (VBA-Editor nicht schließe)dann erscheint
nach dem Makrostart das Outlookfenster im Vordergrund.
- Ansonsten wird das Outlookfenster immer im Hintergrund geöffnet. Symbol in der Taskleiste blinkt.
Vielleicht kann mir jemand hierzu einen Tipp geben.
Gruß, Hermann
Anzeige
AW: Exceltabellenblatt aus Excel mit Outlook versenden
16.05.2017 09:54:50
Marcy
Hallo Hermann,
ich habe es bei Excel 2010 getestet.
Bei mir ist die Mail direkt im Vordergrund, egal ob Outlook geöffnet oder geschlossen ist.
Ich brauche nur noch senden drücken.
Gruß Marcy
AW: Exceltabellenblatt aus Excel mit Outlook versenden
16.05.2017 11:21:04
Hermann
Hallo Marcy,
vielen Dank für Deine Antwort.
Probiere mal bitte Folgendes. Wenn du den VBA-Code eingetragen hast, dann speichere die Datei am Desktop und schließe sie. Öffne sie im Anschluss wieder und betätige den Sende-Button.
Bei mir funktioniert es auch so wie es sein soll, wenn ich vorher den VBA-Editor öffne
so, daß der Code auf der rechten Seite angezeigt wird. Jetzt kann ich den
VBA-Editor wieder schließen. Wenn ich jetzt den Sende-Button betätige, dann klappt es.
Aber leider nicht ohne vorher den VBA-Editor geöffnet zu haben.
Vielleicht hast Du ja noch eine Idee.
Viele Grüße, Hermann
Anzeige
AW: Exceltabellenblatt aus Excel mit Outlook versenden
16.05.2017 23:36:48
st0ne
Hallo..ich nutze dieses dafür
Sub PDFundSenden()
ChDir "C:\Users\st0ne\Documents"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\st0ne\Documents\Excel2PDF.pdf", OpenAfterPublish:=True
Dim Outlook As Object
Dim Outlookmailitem As Object
Dim myattachments As Object
Set OutlookApp = CreateObject("outlook.application")
Set Outlookmailitem = OutlookApp.CreateItem(0)
Set myattachments = Outlookmailitem.Attachments
With Outlookmailitem
.To = ""
.Subject = ""
.Body = ""
myattachments.Add "C:\Users\st0ne\Documents\Excel2PDF.pdf"
'.send
.Display
End With
Set OutlookApp = Nothing
Set Outlookmailitem = Nothing
End Sub

Anzeige
AW: Exceltabellenblatt aus Excel mit Outlook versenden
17.05.2017 10:20:54
Hermann
Hallo Kevin,
das ist ja fast der gleiche Code. Nur der Speicherort ist ein anderer (stOne).
Gleiche Symptome wie bei meinem Code.
Gruß Hermann
;

Forumthreads zu verwandten Themen

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