Hallo,
vielleicht interessiert es ja außer mir doch noch jemanden
. Mit dem angehängten Script kann man eine Gliederung per LS erzeugen und dabei einzelne Einträge einrücken.
Das Script ist sicher noch nicht perfekt. Es verdeutlicht aber die Vorgehensweise.
Viele Grüße
Andreas
'---------------------------------------------------------------------------------------------------------------
'-----
'----- Dieses Script erstellt eine Gliederung über alle Dokumente in der Ansicht
'----- "alleKat".
'----- Dabei werden alle Dokumente, die im Feld "Thema" das Wort "Child"
'----- enthalten, dem vorhergehenden Dokument untergeordnet.
'----- Man erhält also eine hierarchische Gliederung
'-----
'---------------------------------------------------------------------------------------------------------------
'-----
'----- Fehlerbehandlung -----
On Error Resume Next
Dim session As New notessession
Dim db As notesdatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim outline As notesoutline
Dim outlineentry As notesoutlineentry
Dim refoutlineentry As notesoutlineentry
Dim formula As String
Dim thema_ As String
Dim view_ As String
Dim res As Integer
thema_ = ""
view_ = "alleKat"
'----- Dummys für "Call outlineentry.SetNoteLink()" -----
Dim emptyDB As NotesDatabase
Dim emptyView As NotesView
'----- holen aktuelle DB und den vorgegebenen View -----
Set db = session.currentdatabase
Set view = db.getview(view_)
Set doc = view.GetFirstDocument
'----- erstellen Gliederung -----
Set outline = db.createoutline("outTest")
outline.alias = "alleDokumente"
outline.comment = "Gliederung per Script erstellt"
'----- alle Dokumente in der Ansicht als Gliederungseinträge einfügen -----
Do Until doc Is Nothing
thema_ = doc.GetItemValue("Thema")(0)
'----- Gliederungseintrag erzeugen -----
Set outlineentry = outline.createentry(thema_)
outlineentry.label = thema_
Call outlineentry.SetNoteLink(emptyDB, emptyView, doc)
outlineentry.imagestext = "itnlogo.gif"
'----- wenn das Wort "Child" im Thema vorkommt --> einrücken -----
res = Instr(1, thema_, "Child", 5)
If res > 0 Then
Call outline.MoveEntry(outlineentry, refoutlineentry, 1, 1)
End If
'----- an Gliederung anhängen -----
outline.addentry outlineentry
'----- alten Gliederungspunkt merken für eventuelle Einrückung -----
Set refoutlineentry = outlineentry
'----- nächstes Dokument -----
Set doc = view.GetNextDocument(doc)
Loop
'----- speichern und fertig -----
outline.save