Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: fritandr am 11.07.02 - 21:41:59
-
Hallo,
ich suche nach einer Möglichkeit, in einer Gliederung, die ich per Script aufbaue, einige Einträge einzurücken.
Hat jemand Erfahrungen damit, Gliederungen per Script aufzubauen und weiss, wie (und ob) so etwas geht?
Viele Grüße
Andreas
-
Hi,
meinst Du ein RTF Feld befüllen?
-
Hallo,
nein, ich will kein RTF-Feld befüllen. Ich versuche jetzt nochmal klarer zu beschreiben, was ich vorhabe.
Ich will mir eine Gliederung (NotesOutline, NotesOutlineEntry) per Lotus Script aufbauen. Dabei hole ich mir aus einer Ansicht verschiedene Dokumente und erzeuge für jedes Dokument einen Eintrag in der Gliederung. Nun möchte ich gerne einige dieser Gliederungspunkte per Script weiter einrücken.
Bearbeite ich eine Gliederung im Designer manuell, so kann ich einen einzelnen Eintrag über die Aktion "Eintrag einrücken" manuell einrücken und einem anderen Punkt damit unterordnen. Genau das möchte ich jetzt per Script tun. Hoffentlich habe ich mich jetzt verständlicher ausgedrückt!?!
Viele Grüße
Andreas
-
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