Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
152to156
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
152to156
152to156
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige