Domino 9 und frühere Versionen > ND6: Entwicklung
Inhalt RTField mit DocLink an anderes RTField anhängen
(1/1)
Alexis:
Hallo Forum,
steh' mal wieder auf dem Schlauch:
Ich möchte im PostSave eines Dokumentes den Inhalt eines RT-Feldes mit Text und DocLinks an ein anderes RT-Feld anhängen. Geht das überhaupt und wenn ja mit welcher Methode?
Hoffe auf einen Tipp von den Spezis.
Alexis
koehlerbv:
Die Methode heisst NotesRichText.AppendRTItem, wie man leicht der DesignerHelp entnehmen kann.
Bernhard
Alexis:
Hallo Bernhard,
die Methode NotesRichtText.AppendRTItem ist mir bekannt, mir fehlt wohl der richtige Ansatz aus dem Quellfeld nicht nur den Text zu holen (doc.GetItemValue) sondern das Objekt was sich hinter dem Link verbirgt (GetFirstElement(RTELEM_TYPE_DOCLINK?).
--- Code: ---Dim rtlink As NotesRichTextDocLink
Dim rti As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Set rti = doc.GetFirstItem("Input")
Set rtnav = rti.CreateNavigator
Set rtlink = rtnav.GetFirstElement(RTELEM_TYPE_DOCLINK)
If rtlink Is Nothing Then
Messagebox "Document contains no links",, "No links"
End If
Call rtitem.appenddoclink(rtlink,"")
--- Ende Code ---
LN-Fehlermeldung: AppendDocLink requires a NoteDocument ......
Was ist hier faul?
Alexis
Alexis:
Hallo Forum,
mit folgender Änderung komme ich nun an das Dokument heran, vorausgesetzt es liegt in selbiger DB, so dass der Link brav als DocLink angehängt wird.
Wie bekomme ich aber bei einem Link auf eine andere DB den DB-Bezug? Die ReplicaID ist ja im rtlink-Objekt ja vorhanden, aber weiter ???
--- Code: ---Dim rtlink As NotesRichTextDocLink
Dim rti As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Set rti = doc.GetFirstItem("Input")
Set rtnav = rti.CreateNavigator
Set rtlink = rtnav.GetFirstElement(RTELEM_TYPE_DOCLINK)
If rtlink Is Nothing Then
Messagebox "Document contains no links",, "No links"
End If
Dim docc As NotesDocument '!!!!!!
Set docc = db.GetDocumentByUNID( rtlink.DocUnID ) '!!!!!!!!!
Call rtitem.appenddoclink(docc,"") '!!!!!!!!
--- Ende Code ---
Alexis
ghost:
Hallo Alexis,
vielleicht so:
--- Code: ---Dim db as New NotesDatabase("", "")
flag = db.OpenByReplicaID( <server>, <ReplicaID>)
--- Ende Code ---
Viele Grüße
ghost
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln