Wenn ich jetzt das Script mit dem Debugger kontrolliere wird das richtige Bild aus der DB geholt und auch in die bookmark.nsf kopiert.
Starte ich nun Notes neu erscheint ein ganz anderes Bild in der Lesezeichenleiste. Vielleicht hat noch jemand eine Idee.
Dim outline As NotesOutline
Dim oeNew As NotesOutlineEntry
Dim oeRef As NotesOutlineEntry
Dim oeTmp As NotesOutlineEntry
Dim NoMore As Variant
Dim db As NotesDatabase
Dim imageDocument As NotesDocument
Dim MDB As NotesDatabase
Dim s As New NotesSession
Dim Done, Found As Variant
Dim ws As New NotesUIWorkspace
Dim unid$
unid$ = "8F7D685C19ACBE55C1256E530037312A"
server$ = "kh_dom01"
filename$ = "db/protoeg.NSF"
labeltext$ = "Protokolle EG-Sitzungen"
Call ws.AddDatabase(server$ , filename$ )
Set MDB = s.GetDatabase(server$,filename$)
Set db = New NotesDatabase( "", "bookmark.nsf" )
Set outline = db.GetOutline("UserBookmarkOrder")
Set oeTmp = outline.GetFirst()
label$ = ""
Done = False
referenceFound = False
nacEntryFound = False
Do While Done = False
If oeTmp Is Nothing Then
Done = True
Else
label$ = oeTmp.Label
If label$ = labeltext$ And oeTmp.Level = 0 Then '..entry already exists
nacEntryFound = True
Done = True
Else
If label$ = "More Bookmarks" Then
referenceFound = True '..found where we normally put the bookmark, but let's keep looking incase the user has placed the bookmark somewhere else
Set oeRef = oeTmp
End If
Set oeTmp = outline.GetNextSibling(oeTmp)
End If
End If
Loop
Set oeNew = outline.CreateEntry(labeltext$)
Call oeNew.SetNoteLink(MDB)
If nacEntryFound Then
Dim vorhanden As String
vorhanden = |Das Lesezeichen '| & labeltext$ & |' existiert bereits!
Wenn Sie es an der linken Seite noch nicht sehen, schließen
und starten Sie ihr Lotus Notes bitte erneut!|
Messagebox vorhanden, 0+48, "Lesezeichen vorhanden"
Exit Sub
Else
If referenceFound Then
Call outline.AddEntry(oeNew, oeRef,True,False)
Else
Call outline.AddEntry(oeNew, ,True,False)
End If
Set imageDocument = MDB.GetDocumentByUNID (unid$)
Call imageDocument.CopyToDatabase(db)
oeNew.ImagesText = labeltext$
Call outline.save()
End If
Dim Zeilen As String
Zeilen = |Das Lesezeichen '| & labeltext$ &|' wurde angelegt.
Sie können es erst nach einem Neustart von Lotus Notes
an der linklen Seite sehen!|
Messagebox Zeilen, 0+64, "Lesezeichen erstellen"