Autor: Rainer Beckerbauer (Ramses)  --- Aus Excel VBA - Gruppe: Outlook & Excel

Outlook 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:

 
 AB
1Empfänger 
2dh@muster.xyz 
3ew@muster.xyz 
4gh@muster.xyz 
5oz@bayern.xyz 
6er@bayern.xyz 
7ar@bayern.xyz 
8oi@berlin.xyz 
9oa@berlin.xyz 
10us@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:

 
 ABC
1EmpfängerBetreffText
2dh@muster.xyzGeburtstagZum 20. die besten Wünsche
3ew@muster.xyzMeetingTreffen uns um 18:00 am 1. nächsten Monat
4gh@muster.xyzUrlaubHabe für 3 Personen gebucht
5oz@bayern.xyzUrlaubHabe für 3 Personen gebucht
6er@bayern.xyzKochenWas gibt es zum essen ?
7ar@bayern.xyzEinkaufenKannst du noch Fleisch kaufen
8oi@berlin.xyzMeetingTreffen uns um 18:00 am 1. nächsten Monat
9oa@berlin.xyzGeburtstagZum 30. die besten Wünsche
10us@berlin.xyzGeburtstagZum 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