Autor Thema: Doklink von einem Dokument in ein anderes kopieren  (Gelesen 5790 mal)

Offline Tom_S

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
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?

Code
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

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Doklink von einem Dokument in ein anderes kopieren
« Antwort #1 am: 18.04.16 - 09:41:41 »
Da Du den Code nicht gepostet hast, der den Doclink kopiert, kann man hier nur raten ...

Ich würde mir über den ermittelten Doclink das Dokument holen und dann für dieses einen Doclink mit AppendDoclink in dem neuen Richtextitem einfügen

Offline Tom_S

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
Re: Doklink von einem Dokument in ein anderes kopieren
« Antwort #2 am: 18.04.16 - 12:51:37 »
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.

Code
rtitem.Begininsert(rtlink)
rtitem.Endinsert

Offline Andrew Harder

  • Senior Mitglied
  • ****
  • Beiträge: 295
  • Geschlecht: Männlich
Re: Doklink von einem Dokument in ein anderes kopieren
« Antwort #3 am: 18.04.16 - 14:20:22 »
...
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...
Aus welchem Grund sollte das nicht funktionieren?
Andy

Offline Tom_S

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
Re: Doklink von einem Dokument in ein anderes kopieren
« Antwort #4 am: 18.04.16 - 14:48:22 »
Weil periodisch laufende Agenten nicht auf andere Server zugreifen können.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Doklink von einem Dokument in ein anderes kopieren
« Antwort #5 am: 18.04.16 - 15:05:43 »
Hä?
Das passiert doch nur, wenn Du oder der Admin ihnen explizit nicht vertrauen. Das ist also eine Sache mit Ansage.

Bernhard

Offline Andrew Harder

  • Senior Mitglied
  • ****
  • Beiträge: 295
  • Geschlecht: Männlich
Re: Doklink von einem Dokument in ein anderes kopieren
« Antwort #6 am: 18.04.16 - 15:15:53 »
Weil periodisch laufende Agenten nicht auf andere Server zugreifen können.
Erm... das war mal unter Domino 5 so, also im 20. Jahrhundert.
Andy

Offline Tom_S

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
Re: Doklink von einem Dokument in ein anderes kopieren
« Antwort #7 am: 18.04.16 - 15:39:44 »
Ok, dann ist das wohl eine Einstellung von unseren Admins, die aber so gewollt ist.

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Doklink von einem Dokument in ein anderes kopieren
« Antwort #8 am: 18.04.16 - 19:21:57 »
Du kannst das Document mit dem Richtextitem in einen DXL String exportieren. Dort kannst du alles entfernen was du nicht brauchst und dann das Dokument wieder importieren und dann das Richtextitem aus diesem Dokument an dein Zieldokument anfügen.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Pyewacket

  • Senior Mitglied
  • ****
  • Beiträge: 310
  • Geschlecht: Männlich
Re: Doklink von einem Dokument in ein anderes kopieren
« Antwort #9 am: 18.04.16 - 22:44:20 »
Schau dir mal die Klasse NotesRichTextDocLink genau an. Damit kannst du
alle Werte aus dem Doclink ziehen und dann im anderen rtitem einen neuen Doclink erzeugen.

Peter
ATOS.org - Feel the music!

Offline Tom_S

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
Re: Doklink von einem Dokument in ein anderes kopieren
« Antwort #10 am: 19.04.16 - 08:08:38 »
@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.

Code
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. ;-)

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: Doklink von einem Dokument in ein anderes kopieren
« Antwort #11 am: 19.04.16 - 09:48:07 »
zwei Möglichkeiten:

1. Dummy-DocLink setzen
erstelle in deinem RTF einen DocLink zu einem beliebigen Dokument in der Datenbank. Finde dann diesen DocLink in dem RTF mit RTNavigator und ersetze darin alle Angaben mit denen, die zu deinem Wunsch-DocLink führen

2. undokumentierter Scriptbefehl (funktioniert aber sehr gut)
Call notesRichTextItem.AddLinkByIds( dbReplicaID$, serverHint$, viewUNID$, documentUNID$, comment$ [, HotSpotText$ ])

hth

Thomas

Offline Tom_S

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
Re: Doklink von einem Dokument in ein anderes kopieren
« Antwort #12 am: 19.04.16 - 11:09:58 »
Hi Thomas,

dass ich auf Variante 1 nicht selbst gekommen bin, wurmt mich jetzt ein wenig. ;)

Den Befehl "AddLinkByIds" kannte ich noch nicht, vielen Dank dafür. :)

Liebe Grüße
Thomas

Offline Pyewacket

  • Senior Mitglied
  • ****
  • Beiträge: 310
  • Geschlecht: Männlich
Re: Doklink von einem Dokument in ein anderes kopieren
« Antwort #13 am: 19.04.16 - 13:40:30 »
Hätt ich vielleicht in meiner Mail dazuschreiben sollen dass ich den "AddLinkByIds" gemeint hatte.
ATOS.org - Feel the music!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz