Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel - Mail an mehrere Absender

Excel - Mail an mehrere Absender
04.05.2020 17:59:51
Nico
Ich hatte diesen Code von Nepumuk bekommen, damit ich eine Mail an mehrere Personen senden kann die in einer Ecxel-Liste stehen.
Dim strMailaddresses As String
With Worksheets("Tabelle1") ' Anpassen !!!
strMailaddresses = Join(Application.Transpose(.Range( _
.Cells(1, 2), .Cells(.Rows.Count, 2).End(xlUp)).Value), ";")
End With

Ich habe versucht diesen in meinen Code einzubauen, allerdings funktioniert es nicht.
Vielleicht könnt ihr mir helfen?

Sub SendRange()
'Sheets("Tabelle1").Unprotect Password:="198969"
Dim strMailaddresses As String
With Worksheets("Tabelle1") ' Anpassen !!!
strMailaddresses = Join(Application.Transpose(.Range( _
.Cells(1, 2), .Cells(.Rows.Count, 2).End(xlUp)).Value), ";")
End With
'Dimensionen
Dim oOutlookApp As Object, oOutlookMessage As Object
Dim oFSObj As Object, oFSTextStream As Object
Dim rngeSend As Range, strHTMLBody As String, strTempFilePath As String
'Hier wird der Bereich festgelegt
On Error Resume Next
Set rngeSend = Sheets("Tabelle1").Range("A2:D15")
If rngeSend Is Nothing Then Exit 

Sub 'User pressed Cancel
On Error GoTo 0
'Pfad für temporäre Datei
Set oFSObj = CreateObject("Scripting.FilesystemObject")
strTempFilePath = oFSObj.GetSpecialFolder(2)
strTempFilePath = strTempFilePath & "\XLRange.htm"
'Hier wird die HTML-Datei erstellt
ActiveWorkbook.PublishObjects.Add(4, strTempFilePath, _
rngeSend.Parent.Name, rngeSend.Address, 0, "", "").Publish True
'Outlook session öffnen
Set oOutlookApp = CreateObject("Outlook.Application")
'Neue email
Set oOutlookMessage = oOutlookApp.CreateItem(0)
For i = 1 To 1 'Für einen Serienbrief muss hier der zweite um die jeweilige Briefanzahl erhöht   _
_
werden.
oOutlookMessage.To = SstrMailaddresses
'oOutlookMessage.Cc = Sheets("Tabelle1").Cells(i, 3) 'Kopieempfänger
oOutlookMessage.Subject = Sheets("Tabelle1").Cells(i, 2) 'Betreffzeile
'Die HTML-Datei wird geöffnet mit FilesystemObject
Set oFSTextStream = oFSObj.OpenTextFile(strTempFilePath, 1)
' HTMLBody
strHTMLBody = oFSTextStream.readall
'Normalerweise wird der Body zentriert. Hier wird er linksbündig geschrieben
strHTMLBody = Replace(strHTMLBody, "align=center", "align=left", , , vbTextCompare)
'Für eventuelle Dateianhänge
'oOutlookMessage.Attachments.Add "c:\config.sys"
oOutlookMessage.HTMLBody = strHTMLBody
oOutlookMessage.Display
Next i
'Sheets("E-Mail").Protect Password:="198969"
End Sub


Vielen Dank & freundliche Grüße,
Nico
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel - Mail an mehrere Absender
04.05.2020 18:13:38
Regina
Hi,
ohne alles analysiert zu haben, in dieser Zeile scheint mit bei der Variablen ein S zu viel:
oOutlookMessage.To = SstrMailaddresses
Gruß Regina
AW: Excel - Mail an mehrere Absender
04.05.2020 18:33:17
Nico
Vielen Dank, wie peinlich, so ein kleiner Fehler...
Viele Grüße,
Nico
AW: Excel - Mail an mehrere Absender
04.05.2020 18:44:36
Regina
...kleiner Tipp: Arbeit im Modul mit Option Explicit, das zwingt Dich jede Variable zu deklarieren, dann fliegt Dir der Fehler sofort "um die Ohren".
Gruß Regina
Anzeige
AW: Excel - Mail an mehrere Absender
04.05.2020 18:47:54
Luschi
Hallo Nico,
würdest Du in Vba mit 'Option Explicit' arbeiten, würde Dir der Debugger solche 'Kleinigkeits'fehler melden.
Gruß von Luschi
aus klein-Paris
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige