Hallo zusammen,
ich bin nun seit ewigkeiten am rumprobieren aber nun auch langsam am Ende meiner Ideen und gefühlt jeden Eintrag bei Google zu meinem Thema kenne ich Auswendig.
Worum gehts? Ich habe für meine Projektphase im Studium eine Liste mit Personal-Daten erstellt, diese müssen gefiltert und nach diesem Filter ein Mailverteiler erstellt werden.
Die Filter befinden sich in den Spalten A-C (A = Grundlagenabschluss, B = Beauftragung erhalten, C = Teilnehmer Aktiv)
Die Mailadressen befinden sich in der Spalte M und die Datensätze reichen aktuell von Zeile 6 bis 150
Nun muss ich beispielsweise alle Teilnehmer anschreiben, die die Grundlagenschulungen noch nicht abgeschlossen haben und filtere hierzu die Spalte A nach "nein". Für die Übernahme in Outlook habe ich mir die Schaltfläche erstellt und es öffnet sich je Eintrag ein neues separates Mailfenster. Allerdings wird die Mailadresse nicht übernommen.
Mein Code hierzu sieht so aus:
Private Sub Send_Email()
'------------< Send_Email() >------------
Dim sTitle As String
sTitle = "Test-HTML Email from Excel"
'< HTML holen >
Dim sTemplate As String
sTemplate = Sheets("E-Mail-Vorlage").Shapes(1).TextFrame2.TextRange.Text
'</ HTML holen >
'----< Send with Outlook >----
Dim app_Outlook As Outlook.Application
Set app_Outlook = New Outlook.Application
'--< Email einstellen >--
Dim objEmail As Outlook.MailItem
Dim sEmail_Adress As String
Dim iRow As Integer
For iRow = 6 To 150
If Cells(iRow, 1) = "Ja" Then
'< get Email Address >
'</ get Email Address >
'< Fill Placeholders >
Dim sHTML As String
sHTML = Replace(sTemplate, "[@Name]", sEmail_Adress)
'</ Fill Placeholders >
'--< send Email >--
Set objEmail = app_Outlook.CreateItem(olMailItem)
objEmail.Subject = sTitle
'objEmail.HTMLBody = sHTML '*usw.HTMLBody for HTML
objEmail.Body = sHTML '*and.body for pure Text
objEmail.Display False
'objEmail.Send
'--</ Send Email >--
End If
Next
'< Abschluss >
Set objEmail = Nothing
Set app_Outlook = Nothing
'</ Abschluss >
MsgBox "Mails erstellt", vbInformation, "Fertig"
'----</ Send with Outlook >----
'-------------</ Send_Email() >-------------
End Sub
Konkret hänge ich nun an den beiden Punkten, wie ich es schaffe die Mailadressen nach besagtem Filter aus Spalte M in Outlook zu übernehmen und das ganze möglichst als eine einzige Mail, ohne ein neues Fenster je Empfänger zu öffnen.
Ich hoffe wirklich, dass mir hier jemand helfen kann =)
Vielen vielen Dank schon mal Vorab
Gruß
Marc
|