Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Notes per VBA an mehrere Empfänger - WIE?? | Herbers Excel-Forum


Betrifft: Notes per VBA an mehrere Empfänger - WIE?? von: Christoph Leis
Geschrieben am: 07.12.2009 14:55:40

Hallo zusammen.

Ich bekomm es einfach nicht hin eine mail an mehrere Empfänger GLEICHZEITIG zu senden.
Diesen Code verwende ich um 1 mail zu senden und der klappt wunderbar - nur mehrere Empfänger krieg ich einfach nicht hin.

Sub NotesMail

Antwort = Shell("C:\Program Files\Lotus\Notes\notes.exe " & _
        "=H:\Notes\data\notes.ini", vbMinimizedFocus)
        
AppActivate "Microsoft Excel"

strEmpfaenger = "Max.Mustermann@Muster.com"
strBetreff = "Test"
strText = "Email-Text"
'strFile = "" & MerkerPfad & "\Datei.xls"
NotesMailSend strEmpfaenger, strBetreff, strText, strcc, _
  strbcc, strFile

Exit Sub

Fehler:
NotesMail


Exit Sub
End Sub
Function NotesMailSend(strEmpfaenger As Variant, strBetreff As Variant, _
strText As Variant, strcc As Variant, strbcc As Variant, strFilename As _
String)
' Dimensionierung der Objektvariablen
Dim objNotes As Object, objNotesDB As Object, objNotesMailDoc As Object
Dim SendItem, NCopyItem, BlindCopyToItem, i As Integer, rtitem
Dim msg As String
'
' Zuweisung der Objektvariablen
'On Error GoTo ExitF
Set objNotes = GetObject("", "Notes.Notessession")
Set objNotesDB = objNotes.GETDATABASE("", "")
' Öffnen der Standard-Maildatenbank / Erstellen neues Maildokument
Call objNotesDB.OPENMAIL

AppActivate "Microsoft Excel"


Set objNotesMailDoc = objNotesDB.CREATEDOCUMENT
objNotesMailDoc.Form = "Memo"
Call objNotesMailDoc.Save(True, False)

Set SendItem = objNotesMailDoc.APPENDITEMVALUE("SendTo", "")

Set NCopyItem = objNotesMailDoc.APPENDITEMVALUE("CopyTo", "")
Set BlindCopyToItem = objNotesMailDoc.APPENDITEMVALUE("BlindCopyTo", "")
objNotesMailDoc.sendto = strEmpfaenger
objNotesMailDoc.Subject = strBetreff
Set rtitem = objNotesMailDoc.CREATERICHTEXTITEM("Body")
objNotesMailDoc.Body = strText
rtitem.ADDNEWLINE (1)
Call rtitem.EMBEDOBJECT(1454, "", strFilename)
' Mail zustellen
Call objNotesMailDoc.Save(True, False)
Call objNotesMailDoc.send(False)
objNotesMailDoc.RemoveItem ("DeliveredDate")
Call objNotesMailDoc.Save(True, False)
' Nachricht an Benutzer

msg = "Die E-Mail wurde erfolgreich versendet!"
MsgBox msg, vbInformation, "Test"
' Objektvariablen zurücksetzen
Call objNotes.Close
' Leider funktioniert der Quit-Befehl aus irgend einem Grund nicht.
'objNotes.Quit
Set objNotes = Nothing
ExitF:

End Function
Soweit so gut, 1 Empfänger,den ich ganz oben im Modul unter

strEmpfaenger = "Max.Mustermann@Muster.com"

eintrage,funktioniert wunderbar.

Nun möchte ich aber mehrere Empfänger eintragen,damit diese eine email gleichzeitig an alle gelisteten Personen geht.
Einfach bei strEmpfaenger die Adressen durch ein Komma zu trennen geht nicht.Auch habe ich im Netz schon gelesen,man sollte in der "Function" die Empfängerzeile wiefolgt ändern:

Set SendItem = objNotesMailDoc.APPENDITEMVALUE("SendTo",Split(", ""))

Also den Befehl "Split" einbringen...
Aber das funktioniert soooo ohne Weiteres auch nicht.

Habt ihr eine Idee wie ich meinen vorhandenen Code abändern muss und wie die einzelnen Adressen _
dann zu listen sind?
Wäre für Hilfe sehr dankbar - dreh noch durch :))

Gruß Christoph

  

Betrifft: AW: Notes per VBA an mehrere Empfänger - WIE?? von: Tino
Geschrieben am: 07.12.2009 15:29:44

Hallo,
versuche es mal so, habe ich aber nicht getestet.

Dim arEmpfaenger()
'Deine Empfänger oder mittels Schleife ein Array befüllen
arEmpfaenger = Array("Empfänger1", "Empfänger2", "Empfänger3", "Empfänger4")

 '...
 '...
 '...

objNotesMailDoc.sendto = Join(arEmpfaenger, "; ")
 '...
 '...
Gruß Tino


  

Betrifft: so geht das nicht von: Rudi Maintaire
Geschrieben am: 07.12.2009 15:34:23

hallo Tino
mehrere Empfänger werden per Array übergeben.

objNotesMailDoc.sendto = arEmpfaenger
wäre in Ordnung.

Gruß
Rudi


  

Betrifft: kann sein... von: Tino
Geschrieben am: 07.12.2009 15:37:42

Hallo,
das dies bei Notes so ist, bei Outlook gehts nicht als Array.

Gruß Tino


  

Betrifft: AW: Notes per VBA an mehrere Empfänger - WIE?? von: Rudi Maintaire
Geschrieben am: 07.12.2009 15:31:54

Hallo,
Split() ist schon OK.
in deinem ersten Code:
strEmpfaenger = "Max.Mustermann@Muster.com;rudi.maintaire@test.de;noch.einer@test.com"

im zweiten:
objNotesMailDoc.sendto = Split(strEmpfaenger,";")


Gruß
Rudi


  

Betrifft: AW: Notes per VBA an mehrere Empfänger - WIE?? von: Christoph Leis
Geschrieben am: 07.12.2009 16:03:57

Hey Danke euch!

Rudi - habe deinen Code probiert - funktioniert wunderbar !!!!

Vielen vielen dank!!


  

Betrifft: AW: Notes per VBA an mehrere Empfänger - WIE?? von: walter
Geschrieben am: 08.12.2009 22:53:39

Hallo an die Wissenden,

ich werde mir erlauben dies Makro ebenfallls zu testen. Hätte aber nachfolgende Frage: welche Zeilen muß ich auskommentieren, sodaß bei Makroaufruf die Datei in Notes zwar angehängt wird, ich aber die empfänger noch separat einzugeben habe ?

mit Dank Walter


Beiträge aus den Excel-Beispielen zum Thema "Notes per VBA an mehrere Empfänger - WIE??"