Ich habe gerade folgendes Problem. Und zwar gibt es in dieser Datenbank unter der Ansicht (Verteiler) genau 1 Dokument mit nur einem Feld namens "Namen". Dieses Feld ist eine Dialogliste mit verschiedenen Namen (max. 10), wobei Mehrfachwerte zugelassen sind. Durch diese Dialogliste soll von einem Nutzer bestimmt werden, welche Personen in dem Verteiler stehen an denen bei einem bestimmten Ereignis eine Mail gesendet werden soll. Es kann sein, dass nur 1 Name drin steht, aber es können auch alle 10 Namen angewählt sein, also variabel.
Hier habe ich das Problem, dass wenn z.B. nur 1 Name in der Liste gewählt wurde, das Script beim Zugriff auf "doc.GetItemValue("Namen")(1)" mit der Fehlermeldung "Subscript out of Range" abbricht. Hier müsste also vorher eine Prüfung stattfinden, wieviele Namen nun in der Dialogliste angewählt wurden, damit das Script auch nur bis zu dieser Stelle in dem Array "Namen" läuft.
Nun meine Frage: Wie kann ich dies überprüfen. Hatte in der Hilfe leider keine Methode bei NotesItem gefunden, welches dies bewerkstelligen könnte. Unten steht der relevante Teil des Codes.
Dim recipients(1 To 10) As String
Set db = session.CurrentDatabase
Set view = db.GetView( "(Verteiler)" )
Set doc = view.getfirstdocument
Dim i As Integer
For i=1 To 10
recipients(i) = doc.GetItemValue("Namen")(i-1)
Next
[...]
Set docmail = New NotesDocument( db )
docmail.SendTo = recipients
[...]
Call docmail.Send( False )
Alles anzeigen
Wäre für hilfreiche Codefragmente dankbar.