Domino 9 und frühere Versionen > ND6: Entwicklung
mehrere Mailempfänger auslesen
Thomas Schulte:
Mal so als allererste Anmerkung:
Wie lange beschäftigst du dich schon mit Lotus Script und woher hast du den Code geklaut?
Als zweite Anmerkung:
Wenn du hier fragst dann geb deinen Kenntnisstand mit an. Bei Fragen zu Script erwarte ich das sich der Fragende zumindest mit den Basisklassen auskennt.
Als dritte Anmerkung:
Schildere dein Problem vollständig und nicht bröckchenweise so wie du es gemacht hast. Das spart Zeit und Nerven. Auf beiden Seiten.
In der aufrufenden Prozedur:
dim sendto as notesitem
set sendto = UiDoc.document.getfirstitem("EnterSendTo")
Und deine Function so anpassen:
Function MessageSenden( Byval sendto As notesItem, subject As String, message As String, sAdrReply As String, sAdrSender As String, sAdrAlias)
Dim nSession As New NotesSession
Dim nDB As NotesDatabase
Dim mailbox As New NotesDatabase("","")
Dim MailDoc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim item as notesitem
Set nDB = nSession.CurrentDatabase
Call mailbox.Open( nDB.server, "mail.box" )
Set MailDoc = mailbox.CreateDocument
MailDoc.Form = "Memo"
Set item = Maildoc.ReplaceItemValue("SendTo", sendto)
Set item = Maildoc.ReplaceItemValue("Recipients", sendto)
MailDoc.Subject = subject
MailDoc.tmpDisplayReplyInfo = " Bitte Antworten an " + sAdrReply + " ."
MailDoc.DisplayReply = " Bitte Antworten an " + sAdrReply + " ."
MailDoc.From = sAdrReply
MailDoc.Principal = sAdrReply
MailDoc.tmpDisplayFrom_NoLogo = sAdrSender
MailDoc.DisplaySent = sAdrSender
MailDoc.tmpDisplaySentBy = sAdrSender
MailDoc.SendFrom = sAdrAlias
MailDoc.DisplayFrom = sAdrAlias + " < " + sAdrSender + " >"
MailDoc.DisplayFrom_Preview = sAdrAlias + " < " + sAdrSender + " >"
Set rtitem = MailDoc.CreateRichTextItem( "Body" )
Call rtitem.AppendText( message)
MailDoc.PostedDate = Now()
MailDoc.ComposedDate = Now()
MailDoc.DeliveredDate = Now()
MailDoc.EncryptOnSend = True
' Call MailDoc.Send(False, sendto)
Call MailDoc.Save( True, False )
End Function
Fazit: du hast so ziemlich alles Falsch gemacht was man nur falsch machen kann. Den Unterschied zwischen einem String und einem NotesItem hast du auch nicht begriffen und Zielführend ist dein Aufruf auch nicht. Wie soll denn ein übergebener String in einem neu erstellten Notesdocument Mehrfachwerte annehmen können?
Zur Erklärung.
Wenn du das hier so deklarierst:
MessageSenden( Byval sendto As String, ...
und vorher so füllst:
sendto = UiDoc.FieldGetText("EnterSendTo")
dann kannst du hier doch nicht erwarten das hier Abrakadabra plötzlich ein Array rauskommt:
%REM So und hier dachte ich müsste eine Schleife um Mehrere Empfänger auslesen zukönnen, doch irgendwie ist die wohl falsch Forall empfaenger In MailDoc.SendTo
Msgbox(MailDoc.SendTo)
Call MailDoc.send(False,empfaenger)
Msgbox(empfaenger)
End Forall
%END REM
mxm:
Danke dir für deine Antwort,
ich hatte vor ca. eineinhalb jahren für ein knappes halbes jahr mit Lotus Script zutun und jetzt seit ca. 2 Wochen wieder beruflich.
Der Code ist nicht geklaut, den habe ich selbst geschrieben, hat auch eine weile gedauert.
Gibt ja auch noch Bücher, doch alles steht dort halt auch net drin.
Naja, danke dir trotzdem für die Antworten.
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln