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

Forumthread: Systemunabhängige Email an mehrere Empfänger

Systemunabhängige Email an mehrere Empfänger
16.01.2008 13:34:13
Arend
Hallo!
Auch nach tagelanger Suche im Netz finde ich den Fehler des folgenden Codes einfach nicht.
Das Makro soll _eine_ Mail an alle in einem bestimmten Bereich befindlichen Adressen senden.
Und das unabhängig vom Mail-Programm da es auf verschiedenen Systemen ausgeführt wird.
Oft habe ich Laufzeitfehler 13 zurück bekommen und mit dem aktuellen Code unten schreibt er
keine Adresse in die "An"-Zeile.
Wahrscheinlich nur ein kleiner Fehler, aber ich komm einfach nicht drauf.

Private Declare Function ShellExecute Lib "Shell32.dll" _
Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Private Sub Mail(sAdr As String, Optional sSub As String, _
Optional sBody As String)
Call ShellExecute(0&, "Open", "mailto:" + sAdr + _
"?Subject=" + sSub + "&Body=" + sBody, "", "", 1)
End Sub
Sub MailVersenden()
Dim sAddress As String, sSubject As String, sTxt As String
sAddress = Sheets("MoBi").Range("H5:H28")
sSubject = "Sammelmail an MoBi-Runde"
sTxt = Range("B2").Value
Call Mail(sAddress, sSubject, sTxt)
End Sub


Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Systemunabhängige Email an mehrere Empfänger
16.01.2008 13:41:00
Rudi
Hallo,
als Adresse wir ein String erwartet, du übergibst aber ein Datenfeld.
Versuch's mal so:

sAddress = Sheets("MoBi").Range("H5:H28") 'das ergibt ein Array
sAddress = Join(sAddress,";") 'wandelt das Array in einen String mit Trennzeichen ; um (ab XL2000)


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Systemunabhängige Email an mehrere Empfänger
16.01.2008 15:45:07
Arend
Danke für die schnelle Antwort!
Leider bekomme ich hier:

sAddress = Sheets("MoBi").Range("H5:H28") 


immer noch Laufzeitfehler 13 , Typen unverträglich.
So:


Sub MailVersenden()
Dim sAddr As String, sSubject As String, sTxt As String
sAddr = Sheets("MoBi").Range("H5:H28")
sAddress = Join(sAddr, ";")
sSubject = "Sammelmail an MoBi-Runde"
sTxt = Range("B2").Value
Call Mail(sAddress, sSubject, sTxt)
End Sub


komme ich zumindest bis zum "call Mail" dann kommt der Fehler:
"Fehler beim kompilieren"
"Argumenttyp BYRef unverträglich"
Ano

Anzeige
AW: Systemunabhängige Email an mehrere Empfänger
16.01.2008 16:26:42
Rudi
Hallo,
1. Dim sAddress as Variant
2. Sub Mail(ByVal sAdr, ...)
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Systemunabhängige Email an mehrere Empfänger
17.01.2008 07:40:27
Arend
Guten Morgen!
Jetzt gibt es wieder eine neue Meldung:
"Fehler beim kompilieren: Typen unverträglich."
und sAddress im call wird blau hinterlegt.

Sub MailVersenden()
Dim sSubject As String, sTxt As String, sAddress As String
sAddr = Sheets("MoBi")("H5:H28") 'das ergibt ein Array
sAddress = Join(sAddr, ";") 'wandelt das Array in einen String mit Trennzeichen ; um (ab  _
XL2000)
sSubject = "Sammelmail an MoBi-Runde"
sTxt = Range("B2").Value
Call Mail(ByVal sAddress, sSubject, sTxt)
End Sub


Anzeige
;

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