Domino 9 und frühere Versionen > ND6: Entwicklung
Liste erstellen per Script
Wiesel:
Hallo!
Wie bekomme ich in ein Feld mit Mehrfachwerten per Script eine Liste hin?
Ich habe bisher Folgendes auf die Beine gestellt:
...
Dim altReader As String
Dim picklist As Variant
Dim messagelist As String
picklist = workspace.PickListStrings( PICKLIST_NAMES, True )
altReader = doc.Reader(0)
If ( Isempty( picklist ) ) Then
Messagebox "Keine Auswahl" , , "Wählen Sie den Verteiler"
Else
Forall plist In picklist
messagelist = Chr(34) & messagelist & plist & Chr(34) & Chr(10)
End Forall
End If
doc.Reader = altReader & Chr(10) & messagelist
Call doc.Save( False, True )
Aber wenn ich mir dann das Feld über Dok-Eigenschaften anschaue, sind die Anführungszeichen zum Trennen der einzelnen Werte irgendwie immer nicht ganz richtig gesetzt.
Es soll ja sowas wie
"User 1"
"User 2"
"User 5"
rauskommen.
Wie kriege ich so eine Textliste mit den einzelnen Werte für das Mehrfachwertefeld hin?
Gruß und schonmal schönes WE (werde mich erst Montag wieder melden können),
Wiesel
koehlerbv:
Was Du brauchst, ist ein Array, welches Du aufbaust und anschliessend dem Item zuweist. Details siehe DesignerHelp.
Bernhard
Wiesel:
Aber ist picklist nicht schon ein Array? Und wie bekomme ich das jetzt in ein Item rein? Das habe ich aus der Designer-Hilfe nicht wirklich rauslesen können :o(
Ich habe ja die Variable picklist mit Werten und möchte diese an das bestehende Feld (Mehrfachwerte) anhängen.
m3:
ArrayAppend
Wiesel:
Ok, hab ich eingebaut. Meine auch richtig. Aber es kommt ein "Type mismatch".
Mein Script lautet so:
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim workspace As New NotesUIWorkspace
Dim collection As NotesDocumentCollection
Dim view As NotesView
Dim altReader As Variant
Dim picklist As Variant
picklist = workspace.PickListStrings( PICKLIST_NAMES, True )
Set db = session.CurrentDatabase
Set view = db.GetView( "VV\nach Abteilung" )
'Selektierte Dokumente in Collection setzen
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument()
While Not ( doc Is Nothing )
altReader = doc.Reader(0)
doc.Reader = Arrayappend( altReader,picklist )
Call doc.Save( False, True )
Set doc = collection.GetNextDocument(doc)
Wend
End Sub
An der Stelle mit Arrayappend kommt die Fehlermeldung. Hab ich was vergessen?
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln