Autor: Rainer Beckerbauer (Ramses) --- Aus Excel VBA - Gruppe:
Outlook & ExcelOutlook und Excel (3) Serienmail mit Excel
Autor: Rainer Beckerbauer (Ramses) - Erstellt: -- - Letzte Revision: --Gruppenthema: 6 Folgen 1 2 3 4 5 6 Sie sind in Folge:3
Serienmail mit EXCEL
Manchmal ist es einfacher mit EXCEL eine bestimmte Kontaktgruppe für eine Serienmail zusammenzustellen, oder weiterzugeben, als mit Outlook.
Hier sehen Sie ein Beispiel, wie sich das wunderbar mit VBA lösen lässt.
Der Tabellenaufbau für dieses Beispiel sieht wie folgt aus:
|
|
| A | B | 1 | Empfänger | | 2 | dh@muster.xyz | | 3 | ew@muster.xyz | | 4 | gh@muster.xyz | | 5 | oz@bayern.xyz | | 6 | er@bayern.xyz | | 7 | ar@bayern.xyz | | 8 | oi@berlin.xyz | | 9 | oa@berlin.xyz | | 10 | us@berlin.xyz | | 11 | | | |
|
In dieser vorgestellten Variante, werden über eine Schleife einzelne Mails erstellt,
OHNE dass andere Empfänger sehen an wen die Mail sonst noch versendet wurde.
Sub Excel_Serial_Mail()
Dim MyOutApp As Object, MyMessage As Object
Dim i As Long
'Start der Sendeschleife an 10 Empfänger
For i = 1 To 10
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
'Die Empfänger stehen in Spalte A ab Zeile 1
.To = Cells(i, 1) 'E-Mail Adresse
'Der Betreff in Spalte B
.Subject = "Darum geht es" '"Betreffzeile"
'Der zu sendende Text in Spalte C
'Maximal 1024 Zeichen
'Der Text wird ohne Formatierung übernommen
.Body = "Der Text der für alle angezeigt werden soll" & vbCrLf & _
"mit einer neuen Zeile"
'Hier wird die Mail angezeigt
'.Display
'Hier wird die Mail gleich in den Postausgang gelegt
.Send
End With
'Objectvariablen leeren
Set MyOutApp = Nothing 'CreateObject("Outlook.Application")
Set MyMessage = Nothing 'MyOutApp.CreateItem(0)
'Sendepause einschalten
'Outlook kann die Aufträge nicht schnell genug verarbeiten
Application.Wait (Now + TimeValue("0:00:05"))
Next i
End Sub
Mit EXCEL mehrere Mails erstellen
Eine andere Variante besteht darin, dass in EXCEL die Mails "rudimentär" erfasst werden,
weil schneller
.
Dazu benötigen Sie folgenden Tabellenaufbau:
|
|
| A | B | C | 1 | Empfänger | Betreff | Text | 2 | dh@muster.xyz | Geburtstag | Zum 20. die besten Wünsche | 3 | ew@muster.xyz | Meeting | Treffen uns um 18:00 am 1. nächsten Monat | 4 | gh@muster.xyz | Urlaub | Habe für 3 Personen gebucht | 5 | oz@bayern.xyz | Urlaub | Habe für 3 Personen gebucht | 6 | er@bayern.xyz | Kochen | Was gibt es zum essen ? | 7 | ar@bayern.xyz | Einkaufen | Kannst du noch Fleisch kaufen | 8 | oi@berlin.xyz | Meeting | Treffen uns um 18:00 am 1. nächsten Monat | 9 | oa@berlin.xyz | Geburtstag | Zum 30. die besten Wünsche | 10 | us@berlin.xyz | Geburtstag | Zum 40. die besten Wünsche | 11 | | | | |
|
Der benötigte Code für das Serienmail mit individuellen Betreff und Inhalt.
Kopieren Sie diesen Code in die Mappe mit ihren Kontaktdaten.
Sub Excel_Serial_Mail()
Dim MyOutApp As Object, MyMessage As Object
Dim i As Long
'Start der Sendeschleife an 10 Empfänger
For i = 1 To 10
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
'Die Empfänger stehen in Spalte A ab Zeile 1
.To = Cells(i, 1) 'E-Mail Adresse
'Der Betreff in Spalte B
.Subject = Cells(i, 2) '"Betreffzeil"
'Der zu sendende Text in Spalte C
'Maximal 1024 Zeichen
'Der Text wird ohne Formatierung übernommen
.Body = Cells(i, 3)
'Hier wird die Mail angezeigt
'.Display
'Hier wird die Mail gleich in den Postausgang gelegt
.Send
End With
'Objectvariablen leeren
Set MyOutApp = Nothing 'CreateObject("Outlook.Application")
Set MyMessage = Nothing 'MyOutApp.CreateItem(0)
'Sendepause einschalten
'Outlook kann die Aufträge nicht schnell genug verarbeiten
Application.Wait (Now + TimeValue("0:00:05"))
Next i
End Sub
INFO:
Aus Sicherheitsgründen wird seit Outlook 2000 der Zugriff auf das Item-Object verhindert.
Das heisst, sie müssen die Sicherheitsabfrage:
"Eine Anwendung möchte auf Ihre Adressdaten zugreifen. Möchten Sie dies erlauben ?"
von Outlook zuerst manuell bestätigen
Aber dann rauschen die Mails
Viel Spass
Weitere Artikel der Gruppe: Outlook & Excel Aus Excel VBA
Nach oben