Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
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
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

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

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige