Domino 9 und frühere Versionen > ND7: Entwicklung
Löschen eines Richtext-Feldes
Thomas Schulte:
Noch einmal. Wozu den Inhalt eines Feldes löschen und das Feld anschließend wieder anlegen? Beim nächsten manuellen Speichern taucht das von ganz alleine wieder auf.
Und wenn du es partout direkt haben willst.
Was so sinnvoll wie ein Kropf ist.
Dann machst du halt ein set item = new notesitem (doc,name,Value,Type) nach dem Remove
Thomas Schulte:
Mit deinem letzten Post wird erst klarer was du willst.
Geh über ein Feld zum zwischenspeichern. Mach ein eigenes Doc object auf. Erstelle da ein RTFeld. Kopiere deine Anhänge rein. Schmeis das alte RTFeld weg und erstelle ein neues aus dem wegkopierten.
Ach les ganz einfach was Shane Hollis hier dazu zu sagen hatten.
Franci:
Hallo Thomas,
so oder so ähnlich mache ich es zur Zeit tatsächlich, dabei habe ich leider folgendes Problem:
Wenn ich ein Dokument habe mit einem Anhang unter dem Strich (also nicht im Body-Feld) und ich ein
neues RichText-Feld erzeuge wird der Anhang gedoppelt. d.h. es wird zusätzlich ein neues Item "$FIELD" erzeugt, das auf dieselbe Datei verweist. Damit habe ich in meinem Ergebnisdok einen Anhang zuviel.
Wahrscheinlich muß ich doch ein zweites Dokument erzeugen ;0(
Franci
Franci:
Das ist mein eigentliches Problem:
Do you know how to remove a section? I got the "Restricted operation cannot cross logical boundaries" error even if I use the sample code from the Lotus Help db.
e.g.
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim dc As NotesDocumentCollection
Set dc = db.UnprocessedDocuments
Dim doc As NotesDocument
Set doc = dc.GetFirstDocument
Dim rti As NotesRichTextItem
Set rti = doc.GetFirstItem("Body")
Dim rtnav As NotesRichTextNavigator
Set rtnav = rti.CreateNavigator
If Not rtnav.FindFirstElement(RTELEM_TYPE_SECTION) Then
Messagebox "Body item does not contain a section,",, _
"Error"
Exit Sub
End If
Dim rts As NotesRichTextSection
Do
Set rts = rtnav.GetElement
Call rts.Remove
Loop While rtnav.FindFirstElement(RTELEM_TYPE_SECTION)
Call doc.Save(True, True)
End Sub
habe den Beitrag unter
http://www.lotusgeek.com/SapphireOak/LotusGeekBlog.nsf/d6plinks/ROLR-6E2V8G
gefunden.
Wenn ich das Problem gelöst hätte, könnte ich auch den Inhalt des RitchText-Feldes (ohne Anhänge) löschen. Hat übrigends mal funktioniert, bis der Fehler das erste mal auftrat.
Franci:
Falls jemanden interessiert, hier gibt es noch eine Beschreibung des Problems:
http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/b5b5a5ed992f9c7f8525710700613c6f?OpenDocument
Angebotene Lösung:
It is easy as 123:
1 Create a new temp RichText
2 Read through the old rich text and copy the content to the new rich text, except those ones that you would like to delete
3, Delete the main richtext
4, Copy the temp richtext to the original richtext
5, Delete the temp rich text
Everything is possible, border is the haven or not ...
Auf die Lösung bin ich dann auch schon gekommen. Habe dabei leider meine Attachments im RichTextFeld verloren.
Werde also nochmal einen neuen Versuch starten.
Hätte es eleganter gefunden, wenn die Script-Funktionen, die mir das Leben erleichtern sollten auch wie erwartet funktionieren würden ;o(
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln