Ah super. Klappt ausgezeichnet. Dankeschön an alle. So, dann hier mal das komplette Script mit kleiner Beschreibung, falls jemand auch auf diese Problematik stösst.
Problemstellung:
In einem Dokument sollen Felder gefüllt werden. Die Werte werden aus einer Ansicht entnommen.
Voraussetzung in diesem Fall:
Es existiert ein Dokument (Maske1)mit den Feldern "Name" und "Strasse". Es existiert eine Schaltfläche (Dokument aus Maske2), in der das Script aufgerufen wird. Es existiert eine Ansicht "export" in der 2 Spalten sind, deren Feldwerte ebenfalls "Name" und "Strasse" heissen. (bezogen auf Maske1). Wir befinden uns jetzt in einem Dokument (Maske2)
Lösungsansatz:
Dim db As NotesDatabase
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim currdoc As NotesDocument
Dim doc As NotesDocument
Dim col As NotesDocumentCollection
Dim item1 As NotesItem
Dim item2 As NotesItem
Set db = Session.CurrentDatabase
Set uidoc = ws.CurrentDocument
Set currdoc = uidoc.Document
' Zuweisung der Felder im aktuellen Dokument zu den Items
Set item1 = currdoc.GetFirstItem("Name")
Set item2 = currdoc.GetFirstItem("Strasse")
' Aufruf der Dialogliste (PICKLIST_Custom, 1 Dokument maximal, gleicher Server, gleiche Datenbank, Ansicht "export")
Set col = ws.PickListCollection(1, False, db.Server, db.FilePath , "export",_
"Auswahl erstellen", "Bitte auswählen:")
' Schleife zum abfangen einer Fehlermeldung, wenn der Benutzer nichts wählt/ ESC drückt
if col.count = 0 then
messagebox "Keine Auswahl getroffen"
exit sub
end if
' Zuweisung der Werte aus der Dialogliste zu den Items im aktuellen Dokument
Set doc = col.GetFirstDocument
Call item1.AppendToTextList(doc.Name(0))
Call item2.AppendToTextList(doc.Strasse(0))
Grüße
Ralf