Hallo,
ich versuche schon seit einer Weile, ein Doclink von einem RT-Item in ein anderes zu kopieren. Er übernimmt aber immer das komplette RT-Item, also auch den Text. Wie bekomme ich es hin, dass ich nur den Doclink kopiere?
Dim rti As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Dim rtlink As NotesRichTextDocLink
Set rti = doc.GetFirstItem("Body")
Set rtnav = rti.CreateNavigator
rtnav.FindFirstElement(RTELEM_TYPE_DOCLINK)
Set rtlink = rtnav.Getelement()
Das andere RT-Item heißt "rtitem", aber egal, was ich mache, er fügt immer den kompletten Inhalt von "rti" in rtitem ein und nicht nur den Doclink. Ist sicher nur eine Kleinigkeit, die ich übersehen/vergessen habe, aber ich komme leider nicht drauf. ???
Ich hoffe auf eure Hilfe.
Vielen Dank und liebe Grüße
Thomas
Hallo,
das Dokument holen und mit AppendDocLink einfügen geht leider nicht, da das verlinkte Dokument in einer anderen DB auf einem anderen Server liegt und das ganze in einem periodischen Agenten laufen soll.
Ansonsten weiß ich nicht, was für einen Quellcode ich noch posten soll. Es fehlt ja nur noch das Einfügen des DocLinks. Egal, was ich bisher versucht habe, er hängt dann alles in das RichtTextItem rein und nicht nur den DocLink.
rtitem.Begininsert(rtlink)
rtitem.Endinsert
@Ralf: So ähnlich habe ich es nun auch gemacht, nur ohn DXL.
Ich habe das nun mit einer Range gelöst und alles entfernt, was nicht der DocLink ist.
@Peter: Genau das ist ja das Problem. Ich habe zwar alle Werte, die ich brauche, in dem NotesRichTextDocLink, aber um einen DocLink zu setzen, brauche ich eben das NotesDocument und das bekomme ich ja leider nicht.
Dennoch vielen Dank für die Anregungen.
rtitem.Appendrtitem rti
doc_nied.Save True, False
Set rtitem = doc_nied.Getfirstitem(var_name)
Set rtnav = rtitem.Createnavigator
Set range = rtitem.Createrange
While rtnav.Findfirstelement(RTELEM_TYPE_TEXTRUN)
range.Setbegin(rtnav)
rtnav.Findfirststring("Dokument: ")
range.Setend(rtnav)
range.Remove
Wend
Nicht schön, aber selten. ;-)