Domino 9 und frühere Versionen > ND8: Entwicklung
Text hinter Doc-Link in RT-Feld schreiben
Axel:
Hast du es schon mal mit
Call notesRichTextItem.AppendText( text$ )
probiert?
Axel
awagner:
@Axel: ja hab ich schon probiert, aber er hängt mir das immer am Ende des Feldes dran.
@Diri: nein, die DocLinks hat der User per Drag&Drop reingehängt. Ich möchte jetzt hinter den Link einen Text schreiben, der den DocLink näher beschreibt.
@klauss: Ist eigentlich 1zu1 der code aus der Designer-Hilfe, nur ich möchte halt jetzt das bisschen anpassen
--- Code: --- Dim session As NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim rti As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Dim rtlink As NotesRichTextDocLink
Dim doc_neu As NotesDocument
Dim db_neu As NotesDatabase
Dim rtRange As NotesRichTextRange
Set session = New NotesSession
Set db = session.CurrentDatabase
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
Set rti = doc.GetFirstItem("Body")
Set rtnav = rti.CreateNavigator
'Mail-DB von User
Set db_neu = New NotesDatabase("Server", "mail.nsf")
If Not rtnav.FindFirstElement(RTELEM_TYPE_DOCLINK) Then
Messagebox "No doclinks in Body item",, "No doclinks"
Exit Sub
End If
Do
Set rtlink = rtnav.GetElement
msg$ = "Replica ID = " & rtlink.DbReplicaID
If rtlink.ViewUNID <> String$(32, "0") Then
msg$ = msg$ & Chr(13) & "View UNID = " & rtlink.ViewUNID
End If
If rtlink.DocUNID <> String$(32, "0") Then
msg$ = msg$ & Chr(13) & "Doc UNID = " & rtlink.DocUNID
End If
Messagebox msg$,, rtlink.DisplayComment
Set doc_neu = db_neu.GetDocumentByUNID(rtlink.DocUnID)
Messagebox doc_neu.subject( 0 )
'Betreff bei Kommentar einfügen und speichern
rtlink.DisplayComment = doc_neu.subject( 0 )
Call doc.Save( True, False )
Loop While rtnav.FindNextElement
--- Ende Code ---
Driri:
AppendText fügt immer am Ende des RTF ein (siehe Designer-Hilfe). In dem Fall müßtest Du also über den RichTextNavigator und SetPosition die Position zum Einfügen erst festlegen und dann mit AppendText den Text einfügen.
awagner:
Hallo Diri,
das war auch meine Überlegung, nur irgendwie hab ich das mit SetPosition nicht hinbekommen.
Vielleicht kannst du mir hierzu weiterhelfen?
Danke
Driri:
Den NotesRichTextNavogator hast Du ja schon. Du mußt jetzt erstmal prüfen, ob dieser überhaupt DocLinks enthält und dann z.B. in einer Do-Schleife die Texte einfügen. Das könnte etwa so aussehen :
--- Zitat ---If rtnav.FindFirstElement(5) Then
Do
Call body.BeginInsert(rtnav)
Call body.AppendText("Text")
Call body.EndInsert
Loop While rtnav.FindNextElement(5)
...
--- Ende Zitat ---
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln