Frage von Henningl, 470

Wie kann ich eine Serienmail verschicken mit individuellen Anhang?

Und ja ich habe gegooglet! Wie ein bekloppter...

Ich benutzte Outlook 2010 auf meinem Rechner, wenn das in Verbindung mit Excel irgendwie gehen würde wäre das natürlich ein Traum.

Vielen Dank an die Masterminds da draußen! ^^

Expertenantwort
von Ninombre, Community-Experte für Excel, 443

Wie ist es mit den Anhängen angedacht? Liegen die schon vor oder sollen die auch erstellt werden? 

Aus excel Mails in Outlook zu erstellen ist kein Problem, Code such ich nachher raus, liegt irgendwo auf dem Rechner 

Kommentar von Henningl ,

Die Anhänge gibt es schon.

Wenn du mir das raus suchen könntest wäre das ganz großes Kino.

Ich kenne mich mit so etwas leider nicht wirklich aus. Bin aber motiviert es mir anzueignen.

Kommentar von Ninombre ,

Sorry, das hatte ich damals ganz vergessen. In meinem konkreten Fall gibt es unterschiedliche Funktionen, da eigentlich nicht Attachments sondern Inhalte der Exceltabellen verschickt werden. Ich habe das jetzt in eine Funktion zusammenkopiert, ggf. sieht es deshalb etwas "wild" aus:

Logik ist so aufgebaut, dass Du in Spalte A die E-Mail Adressen hinterlegst, Spalte B eine Anrede ("Herr Müller") und Spalte C den Pfad zum Anhang.

Das Makro arbeitet sich durch die LIste durch bis keine Einträge mehr gefunden werden. Die Mails werden in Outlook als Entwürfe eingestellt, d.h. Du kannst noch kontrollieren bevor sie rausgehen.



Kommentar von Ninombre ,
Sub create_mail()
    Dim name As String
    Dim maili As String
    Dim mailcc As String
    Dim betreff As String
    Dim anhang As String
    Dim i As Long
    Dim olapp As Object
    Dim str As String
    Dim str_design1 As String
    Dim str_design2 As String
    Dim str_satz1 As String
    Dim str_satz2 As String
    Dim str_ende As String
    Application.ScreenUpdating = False

    i = 2 'ab Zeile 2 werden die Einträge für E-Mail adressen gesucht
   While Tabelle1.Cells(i, 1).Value <> ""
        str = "" 'kann leer bleiben
        maili = Tabelle1.Cells(i, 1).Value 'Mailadresse in Spalte A
        name = Tabelle1.Cells(i, 2).Value 'Ansprechpartner Spalte B
        anhang = Tabelle1.Cells(i, 3).Value 'Pfad zum Anhang in Spalte C
        mailcc = "" 'kann leer bleiben
        betreff = "Hier kommt eine Datei"
    Set olapp = CreateObject("Outlook.Application")
    str_design1 = "<font color=" & Chr(34) & "000000" & Chr(34) & " font face=" & Chr(34) & "Arial" & Chr(34) & ">"
    str_design2 = "</font>"
    str = str_design1 & "Hallo " & name & ",<br><br>" & str_design2
    str_satz1 = str_design1 & "Anbei gibt es eine Datei<br> <br>" & str_design2
    str_satz2 = str_design1 & "<a href=" & Chr(34) & "http://www.google.de" & Chr(34) & "> und einen Link dazu </a>" & str_design2
    str_ende = str_design1 & "<br><br>Vielen Dank! <br><br> Viele Grüße <br><br> Hans Mustermann" & str_design2
    str = str & str_satz1 & str_satz2 & str_ende
 With olapp.CreateItem(0)
        .HtmlBody = str
        .To = maili
        .Subject = betreff
        .cc = mailcc
        .attachments.Add anhang
        .Save
    End With
    Set rng = Nothing
    Set olapp = Nothing
    i = i + 1
    Wend
    Application.ScreenUpdating = True
    MsgBox "Email im Outlook - Entwürfe gespeichert!" & vbNewLine & "Daten vor Versand prüfen!", vbInformation, " Fertig"
End Sub

Keine passende Antwort gefunden?

Fragen Sie die Community