Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
456to460
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
456to460
456to460
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

eMail aus Excel versenden wie geht das ?

eMail aus Excel versenden wie geht das ?
18.07.2004 16:18:01
Dieter
Hallo Experten,
ich möchte aus einer Arbeitsmappe die aus 10 Arbeitsblättern besteht einzelne Blätter versenden. Wie geht das ?
Bin für jede Hilfe dankbar.
MfG Dieter H.
AW: eMail aus Excel versenden wie geht das ?
andreas
hallo rainer,
habe mir den coe auf deiner seite mal angesehen und wollte die "serienmail" etwas abändern
wo in deinem code muss ich denn aufseten um die aktive arbeitsmappe zu versenden ?
Also im Grund genommen schon der bereich a1:a10 als empfänger- betreff.... soweit alles klar -
aber wo und wie sage ich ihm nimm diese arbeitsmappe als anlage
kannst mir da bitte mal helfen ?
gruß
andreas e
Anzeige
AW: eMail aus Excel versenden wie geht das ?
andreas
sorry hier noch der code - rainer du kennst ihn ja - aber für andere interessierte:

Sub Excel_Serienmail_via_Outlook_Senden()
Dim OutApp As Object, Mail As Object
Dim i As Integer
Dim Nachricht
For i = 1 To 10
'Variablen müssen bei jeder Schleife neu initalisiert werden
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Cells(i, 1)'Adresse
.Subject = Cells(i, 2) 'Betreffzeile
.Body = Cells(i, 3) 'Sendetext
'Hier wird die Mail zuerst angezeigt
'.Display
'Hier wird die Mail gleich in den Postausgang gelegt
.Send
End With
'Variablen zurücksetzen sonst geht es nicht
Set OutApp = Nothing 'CreateObject("Outlook.Application")
Set Nachricht = Nothing 'OutApp.CreateItem(0)
Application.Wait (Now + TimeValue("0:00:05"))
Next i
End Sub

Anzeige
AW: eMail aus Excel versenden wie geht das ?
Ramses
Hallo Andreas
Da musst du zwei Makros kombinieren :-)
Es ist noch ein Code dabei, wo eine Arbeitsmappe als Anlage versendet werden kann.
Kannst du beide kombinieren ?, sonst mache ich dir das.
Gruss Rainer
AW: eMail aus Excel versenden wie geht das ?
andreas
hallo rainer,
versuche ich gerade schon, aber irgendwie gibts bei mir chaos satt -
wenn du mir da unter die arme greifen könntest wäre super.
Der Bereich mit dem Betreff in Spalte B wäre schon oki, die empfänger bekommen da auch unterschiedliche infos.
der text kann auch bleiben in spalte c - allerdings jetzt noch als anlage die aktive mappe
gruß und danke für deine unterstützung
andreas e
Anzeige
AW: eMail aus Excel versenden wie geht das ?
Ramses
Hallo Andreas
Bin gerade am "skypen" mit Peter :-)
Dauert noch was,... aber ich stell den Code dann noch rein.
Gruss Rainer
AW: eMail aus Excel versenden wie geht das ?
18.07.2004 19:58:51
andreas
super - danke dir - mach keinen stress - "auf ein sicheres stück brot kann man warten " hat meine grossmutter immer gesagt !
gruß
andreas e
AW: eMail aus Excel versenden wie geht das ?
Ramses
Hallo Andreas
ich habe hier noch was ausgegraben

Sub Excel_Serienmail_mit_mehreren_Anlagen_via_Outlook_Senden()
'Variablendefinition
Dim Fs As Object, f As Object
Dim OutApp As Object, Mail As Object
Dim i As Integer, Y As Integer, Msg As Integer
Dim Nachricht As Variant
Dim AWS As String
Dim AnzEmpfänger As Integer
'Variablen füllen
'Filesystemobjekt erstellen
Set Fs = CreateObject("Scripting.FileSystemObject")
'Hier die Anzahl Empfänger definieren
AnzEmpfänger = 10
'1. Fehlerprüfung
'Prüfen ob alle Inhalte vorhanden sind
'Wenn nicht wird das Makro abgebrochen
For i = 1 To AnzEmpfänger
If Cells(i, 1) = "" Or Cells(i, 2) = "" Or Cells(i, 3) = "" Then
Msg = MsgBox("Unvollständige Angaben beim Empfänger in Zeile " & i, vbCritical + vbOKOnly, "Abbruch")
Exit Sub
End If
Next i
'2. Fehlerprüfung
'Mit dem FilesystemObjekt wird zuerst die Existenz
'der Dateien geprüft. Wenn eine nicht existiert
'wird das Makro abgebrochen
'Die Links auf deine Anlagen liegen im
'Bereich F2 : F10
For Y = 2 To 10
'Wenn eine Zelle leer ist, wird aus der Schleife ausgestiegen
'ohne weitere Fehlerprüfung
If Cells(Y, 6) = "" Then Exit For
If Fs.fileexists(Cells(Y, 6)) = False Then
Msg = MsgBox("Die Datei: " & Cells(Y, 6) & " in F" & Y & " exitstiert nicht !" & vbCrLf & "Der Sendevorgang an; " & Cells(i, 1) & " wird abgebrochen!", vbCritical + vbOKOnly, "Dateifehler")
Exit Sub
End If
Next Y
'Sendevorgang einleiten
For i = 1 To AnzEmpfänger
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Cells(i, 1) '"irgendwer@irgendein-provider.de"
.Subject = Cells(i, 2) '"Betreffzeile Header"
.Body = Cells(i, 3) '"Sendetext"
For Y = 2 To 10
AWS = Cells(Y, 6)
'Wenn die Zelle / Variable leer ist
'wird diese Schleife abgebrochen
If AWS = "" Then Exit For
.Attachments.Add AWS
Next Y
'Hier wird die Mail zuerst angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt
'.Send
End With
'Variablen zurücksetzen
Set OutApp = Nothing 'CreateObject("Outlook.Application")
Set Nachricht = Nothing 'OutApp.CreateItem(0)
Application.Wait (Now + TimeValue("0:00:02"))
Next i
End Sub

Die Adresse steht in Spalte A, der Betreff in Spalte B und der Text in Spalte C.
Die zu sendende Datei mit Pfadangabe in Spalte F.
Das Attachment kannst du aber auch so definieren
AWS = ThisWorkbook.Fullname
Wenn es die aktuelle Mappe ist, die versendet werden soll.
Viel Spass beim ausprobieren ;-))
Gruss Rainer
Anzeige
super - danke dir rainer oT
andreas
AW: Danke euch o.T.
18.07.2004 16:37:44
Dieter
'

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige