Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1756to1760
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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
Anzeige

199 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige