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

Forumthread: Tabellenblatt via Mail versenden

Tabellenblatt via Mail versenden
02.11.2017 13:06:50
Tommy
Hallo
Ich habe folgenden Code aus dem Netz gefischt und versucht anzupassen.
Ziel ist es, das dass Tabellenblatt "Email" per mail an einen festen emailempfänger gesendet werden soll.
Leider bleibt er bei " .attachments.Add AWS" hängen.
Warum?
hier mal der Code dazu:
Private Sub CommandButton3_Click()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
'Aktive Arbeitsmappe wird als Mail gesendet
AWS = Worksheets("Email").Select
InitializeOutlook = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "test@test.de"
.Subject = "Testmeldung von Excel2000 " & Date & Time
.attachments.Add AWS
.Body = "Das ist ein Test."
'Hier wird die Mail gleich in den Postausgang gelegt
.Mail.Send
End With
OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt via Mail versenden
02.11.2017 13:21:24
Michael
Hallo!
Warum?
Weil Du nur ein Blatt auswählst - Du musst dieses aber zwischenspeichern, um dann dem Mail-Objekt eine Datei über ihren Dateipfad als Anhang zu übergeben. Daher:
Private Sub CommandButton3_Click()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
'Aktive Arbeitsmappe wird als Mail gesendet
'==== Blatt "Email" zwischenspeichern ====
Application.DisplayAlerts = False
Worksheets("Email").Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & "Blatt_Email", 51
'==== Datei-Pfad der zwischengespeicherten Mappe auslesen ====
AWS = ActiveWorkbook.FullName
InitializeOutlook = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "test@test.de"
.Subject = "Testmeldung von Excel2000 " & Date & Time
''==== Zwischengespeicherte Datei (Pfad!) als Anhang übergeben ====
.Attachments.Add AWS
.Body = "Das ist ein Test."
'Hier wird die Mail gleich in den Postausgang gelegt
.Send
End With
'==== Zwischengespeichertes Blatt "Email" wieder löschen ====
Kill AWS
OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub
LG
Michael
Anzeige
AW: Tabellenblatt via Mail versenden
02.11.2017 13:51:15
Tommy
Prima Danke.
Mail kommt an, aber er bleibt bei "Kill AWS" hängen...
Kleinigkeit...
02.11.2017 14:38:48
Michael
vergessen...
Sub a()
Dim Nachricht As Object, OutApp As Object
Dim AWS As String
Set OutApp = CreateObject("Outlook.Application")
Application.DisplayAlerts = False
Worksheets("Email").Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & "Blatt_Email", 51
AWS = ActiveWorkbook.FullName
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "test@test.de"
.Subject = "Testmeldung von Excel2000 " & Date & Time
.Attachments.Add AWS
.Body = "Das ist ein Test."
.Display
End With
ActiveWorkbook.Close False
Kill AWS
OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub
LG
Michael
Anzeige
AW: Kleinigkeit...
02.11.2017 15:51:27
Tommy
Ok, das funzt jetzt. Aber...
Er will jetzt Outlook beenden und die Userform4 schließt nicht mehr.
Outlook sagt, im Postausgang sind noch Nachrichten ....
Na dann lass Outlook halt nicht beenden...
02.11.2017 16:20:40
Michael
Tommy,
...indem Du diese Zeile auskommentierst:
OutApp.Quit
Die war allerdings auch schon in Deinem ursprünglich geposteten Code.
und die Userform4 schließt nicht mehr
Dazu kann ich natürlich nichts sagen.
LG
Michael
Anzeige
;

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