Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: lotus blue am 19.07.07 - 10:46:09

Titel: SendTo via LS an mehrere Empfänger
Beitrag von: lotus blue am 19.07.07 - 10:46:09
Hallo Leute,

hab (für Euch ;D) ne ganz simple Frage.

Momentan verschick per LS ne Mail mit folgendem Code:

Sub Click (source As Button)
   Dim ws As New notesuiworkspace
   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim newDoc As NotesDocument
   Dim uidoc As notesuidocument
   Dim rtitem As NotesRichTextItem
   Dim boxType As Long, answer As Integer   
   Set uidoc = ws.currentdocument
   Set db = s.CurrentDatabase
   Set doc = uidoc.Document
   '******* Hier wird dann das Dokument gespeichert, verlinkt und versendet, sowie eine Mail an den entsprechenden Empfänger versandt
   
   Call uidoc.Save
   Set newDoc = New NotesDocument( db )
   Set rtitem = New NotesRichTextItem( newdoc, "Body" )
   Call rtitem.AppendDocLink( doc, "hier gelangen Sie zum Dokument" )
   newdoc.SendTo = "beliebiger Empfänger"
   newdoc.Subject = "Thematext."
   Call newdoc.Send( False )
   doc.saveoptions = "0"
   Call uidoc.close
   Exit Sub
End Sub


Null soll die Mail an mehrere Empfänger gehen.
Könnte es mit


Dim Empf() As String
Redim Empf(x) ' wobei x die Anzahl deiner Empfänger-1 ist

empf(0) = "Test1"
empf(1) = "Test2"
empf(2) = "Test3"

newDoc.SendTo = empf

Oder soll ich was ganz anderes nehmen?

Grüße
Titel: Re: SendTo via LS an mehrere Empfänger
Beitrag von: Dominique M. am 19.07.07 - 11:41:32
Hallo lotus blue,

genau dasselbe Problem hatte ich letztens auch!
Ich hab die Empfänger als ein einzigen String vorliegen, getrennt durch einen Delimiter deiner Wahl...

Lösung:

empf = "email1, email2, email3..."
doc.SendTo = Split(empf, ", ")

Eventuell hillft dir das bei deinem Problem weiter!

Beste grüße
Dominique
Titel: Re: SendTo via LS an mehrere Empfänger
Beitrag von: lotus blue am 19.07.07 - 14:26:45
 :oAuch ein guter Ansatz.
Werd ich das mal versuchen 8)

Keiner von den alten Hasen einen Tipp.
Will halt keine Notlösung, sondern wie es normal geht, damit ich bei nachfolgenden Datenbanken kein Prob bekomm.

Gruß
Titel: Re: SendTo via LS an mehrere Empfänger
Beitrag von: Axel am 19.07.07 - 14:39:39
Könnte es mit [/b]

Dim Empf() As String
Redim Empf(x) ' wobei x die Anzahl deiner Empfänger-1 ist

empf(0) = "Test1"
empf(1) = "Test2"
empf(2) = "Test3"

newDoc.SendTo = empf

Es könnte nicht nur... es geht so. ;)

Lösung:

empf = "email1, email2, email3..."
doc.SendTo = Split(empf, ", ")

Auch das ist ein gangbarer Weg. Warum soll das eine Notlösung sein?


Genau wie in anderen Programmiersprachen auch, gibt's in Notes nicht die Lösung sondern es gibt immer viele Wege die nach Rom (äh, zum Ziel) führen. Welche davon die beste ist, hängt von den Rahmenbedingungen an.


Axel

Titel: Re: SendTo via LS an mehrere Empfänger
Beitrag von: Thomas Schulte am 19.07.07 - 14:47:06
Wenn du direkt mit dem Item operieren kannst ....
set sendtonotesitem = newdoc.replaceitemvalue("Sendto","Empänger1")
call sendtonotesitem.appendtotextlist("Empfänger2")

Ist in diesem Fall einfacher. weil es keinen Ubound und Redim und das ganze andere Geraffel nicht braucht.

Dominiques Lösung ist aber auch klassisch.

Hardcoden würde ich sowas sowieso nicht. sondern von Konfigurationsdokumenten abhängig machen und dann brauchst du eigentlich nur das komplette Item zu kopieren.

Wie Axel schon sagt. Viele Wege führen nach Rom.
Titel: Re: SendTo via LS an mehrere Empfänger
Beitrag von: lotus blue am 19.07.07 - 15:52:55
Ok Grazie  @all :love: