Autor Thema: Liste erstellen per Script  (Gelesen 2757 mal)

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Liste erstellen per Script
« am: 04.07.08 - 16:56:57 »
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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Liste erstellen per Script
« Antwort #1 am: 04.07.08 - 17:06:33 »
Was Du brauchst, ist ein Array, welches Du aufbaust und anschliessend dem Item zuweist. Details siehe DesignerHelp.

Bernhard

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Re: Liste erstellen per Script
« Antwort #2 am: 07.07.08 - 09:52:58 »
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.

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Liste erstellen per Script
« Antwort #3 am: 07.07.08 - 09:57:32 »
ArrayAppend
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Re: Liste erstellen per Script
« Antwort #4 am: 07.07.08 - 10:21:40 »
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?


Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Liste erstellen per Script
« Antwort #5 am: 07.07.08 - 10:26:47 »
altReader ist kein Array sondern ein String, wenn Du "doc.Reader(0)" machst.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Liste erstellen per Script
« Antwort #6 am: 07.07.08 - 10:27:32 »
Du hast nichts vergessen, sondern die Doku nicht richtig gelesen. ArrayAppend braucht Arrays zum verknüpfen - Dein altReader ist aber ein String.

Bernhard

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Liste erstellen per Script
« Antwort #7 am: 07.07.08 - 10:30:36 »
Ja.
Auch wenn du Altreader als Variant deklarierst weist du ihm über Doc.Reader(0) doch nur einen String zu. Gehe zu Notesitems und lese da weiter.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Re: Liste erstellen per Script
« Antwort #8 am: 07.07.08 - 11:14:17 »
Oh ja, die Kleinigkeiten :o)

Hat super geklappt.

Ich danke Euch!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz