Autor Thema: NotesRichtextItem -> Textinhalt ersetzen, Anhänge belassen  (Gelesen 1469 mal)

Mitch

  • Gast
Hallo zusammen,

ich habe ein NotesRichtextItem welches Text und Attachments enthält. In beliebiger Reihenfolge und Kombination.

Ich möchte nun - im Backend - den Text komplett mit einem neuen Text ersetzen. Aber ohne dass die Attachments berührt werden.

Die folgenden, simplen Methoden wandeln das RT-Item in ein Textitem um und verschieben die Anhänge ins Dokument selbst:

Code
'Variante 1
Call doc.ReplaceItemValue("Body", "Neuer Wert")
Code
'Variante 2
doc.Body = "Neuer Wert"
Code
'Variante 3
Dim rti As NotesRichTextItem
Set rti = doc.GetFirstItem("Body")
rti.Values = "Neuer Wert"

Als nächstes würde ich entweder versuchen über NotesRichtextNavigator und NotesRichtextRange zu arbeiten und alle Elemente außer den Attachments zu entfernen und dann den neuen Wert anzuhängen, oder über ein temporäres Dokumente gehen, also das RTitem zu kopieren, im originalen Dokument zu löschen, neu anzulegen und dann die Anhänge wieder zu übertragen.

Beide Varianten sind aber IMHO recht aufwändig wenn man die eigentlich recht simple Anforderung bedenkt. Übersehe ich vielleicht etwas?

Gruß,

Mitch

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: NotesRichtextItem -> Textinhalt ersetzen, Anhänge belassen
« Antwort #1 am: 13.01.14 - 14:01:20 »
Hallo

Ich würde jetzt die Attachments in ein temp Verzeichnis speichern. Den Body komplett ersetzen, die Attachments wieder einhängen und alle temporären dateien löschen.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Mitch

  • Gast
Re: NotesRichtextItem -> Textinhalt ersetzen, Anhänge belassen
« Antwort #2 am: 13.01.14 - 14:07:54 »
Heyho,

danke für die Antwort. Ich befürchte du hast recht.

Ich habe gerade mal mit dem Navigator und dem Range gespielt, aber die verhalten sich seltsam und löschen manche Abschnitte nicht oder lassen einfach die eine Tabellenzelle stehen während sie die daneben leeren (Testtabelle, steht in jeder Zelle nur ein stinknormaler Buchstabe drin).

Mit dem Umweg über ein temporäres Dokument komme ich auch nicht weit, man kann ja EmbeddedObjects nicht direkt übertragen.

Alles lösen, Item löschen, neues Item mit neuem Text erstellen und dann alles wieder anhängen scheint tatsächlich der einzige Weg zu sein.

Gruß,

Mitch

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz