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

E-mail Empfänger

Forumthread: E-mail Empfänger

E-mail Empfänger
29.08.2002 08:13:02
Detlef
Hallo zusammen,

mit dem untenstehenden Code versende
ich im Excel eine Nachricht. Da ich mehrere
E-mail Empfänger habe ("b7:b10"), bekomme
ich bei Ausführung des Makros einen Laufzeit-
fehler: Die untere Array-Grenze muss Null sein.
Da sich in meinem Sheet die E-mail Adressen jedes
mal ändern, kann sie nicht direkt im Code hinterlegen.
Hat jemand eine Idee ?

Sub Mailversenden()

Dim outobj As Object
Dim mail As Object

Set outobj = CreateObject("outlook.application")
Set mail = outobj.createItem(0)
mail.Subject = "Bericht"
mail.body = "Bitte um Ausführung"

mail.to = Range("b7:b10")
mail.display

Set mail = Nothing
Set outobj = Nothing


End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: E-mail Empfänger
29.08.2002 09:55:38
Valente Christian
Hallo Detlef!

Ich hatte ein ähnliches Problem und hab' die Empfänger in eine .txt-Datei geschrieben und die dann mit folgendem Code ausgelesen:

Sub ArrBef()
Dim Kanal As Integer, i As Integer, tZeile As String

Kanal = FreeFile
i = 0

Open fDatei For Input As #Kanal
Do While Not EOF(1)
Line Input #Kanal, tZeile
i = i + 1
ReDim Preserve Empf(i)
Empf(i) = tZeile
Loop
Close #Kanal

End Sub

Solltest Du die Empfänger nicht in eine Text-Datei schreiben können, könntest Du mit einer ähnlichen Schleife die Empfänger in das (den?) Array einlesen und dann mit der Anweisung

MailDoc.sendto = Empf

das Mail an die im Array enthaltenen Empfänger versenden.

Hoffentlich kannst Du was damit anfangen ....


Viel Erfolg

vbChr

Anzeige
Re: E-mail Empfänger
29.08.2002 10:21:02
Detlef
Hallo Valente,
kann leider die Empfänger nicht in
eine txt.Datei schreiben (zu viele).
Wie funktioniert Deine andere Variante
mit "Maildoc.sendto = Empf" einlesen in
das Array ?
Vielen Dank !

Detlef

Re: E-mail Empfänger
29.08.2002 13:01:41
Valente Christian
Hallo Detlef!

Im Prinzip gleich wie aus einer Text-Datei ....

Anschliessender Code basiert auf der Annahme, dass in Tabelle1 beginnend mit A1 (bis AIrgendwo) die Empfänger eingetragen sind:

'Sub XArrBef()
Dim i As Integer, DateiName As String

DateiName="LW:\Ordner\Unterordner\Datei.xls"
i = 1

Workbooks.Open Filename:=DateiName

Do While Not Cells(i, 1) = ""
ReDim Preserve Empf(i)
Empf(i) = Cells(i, 1)
i = i + 1
Loop
'End Sub

Der Code arbeitet die Zeilen solange schrittweise ab, bis die nächste Zelle leer ist und fügt die einzelnen Zeile dem Array hinzu;

mit der Zeile

MailDoc.sendto = Empf

rufe ich in der nächsten Prozedur das Array als Empfänger(array) auf ....


Den Code jetzt noch den eigenen Gegbenheiten anpassen - und los geht's!!

Viel Erfolg

vbChr

Anzeige
Re: E-mail Empfänger
29.08.2002 13:53:24
Detlef
Hallo Valente,
vielen Dank für Dein Lösungsvorschlag,
aber ich bekomme noch eine Fehlermeldung:
mit der Variable "Preserve". Die Email-Empfänger
sind in der gleichen Arbeitsmappe und brauche kein
andere öffnen.
Hast Du noch eine Idee bzw. wo ist der Fehler im unten-
stehenden Code ?
Detlef

Dim outobj As Object
Dim mail As Object
Dim i As Integer
i = 7
Set outobj = CreateObject("outlook.application")
Set mail = outobj.createItem(0)
mail.Subject = "Test"
mail.body = "Test"
Do While Not Cells(i, 2) = ""
ReDim Preserve empf(i)
empf(i) = Cells(i, 2)
i = i + 1
Loop
mail.to = empf
mail.display
Set mail = Nothing
Set outobj = Nothing
End Sub

Anzeige
Re: E-mail Empfänger
29.08.2002 14:08:18
Valente Christian
Hallo Detlef!

Ich glaube, Du hast das Array "Empf" nicht deklariert ....
(Dim Empf() As Variant)

Viel Erfolg!

vbChr

;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige