Domino 9 und frühere Versionen > ND8: Entwicklung

Text hinter Doc-Link in RT-Feld schreiben

<< < (2/4) > >>

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