Domino 9 und frühere Versionen > ND7: Entwicklung
Richtextfeld frisst Tabellen
BMWTordi:
Also ich hatte schonmal ein Problem gepostet indem es grob um dieses Thema ging.
Sachverhalt ist folgender:
Ich habe in meiner Maildatenbank einen Button mit dem ich die infos aus markierten emails in eine andere Datenbank übertrage. Dabei erstelle ich pro email ein neues Dokument.
Code:
Dim body As NotesItem
Set body = doc.GetFirstItem("body")
Dim new_body As NotesItem
Stop
Set new_body = body.CopyItemToDocument(hotdoc, "bemerk")
Problem
Das Problem bezieht sich auf das oben gezeigte RT Feld "bemerk". In dieses Feld kopiere ich das "body" Feld der Email. Leider kann man bei manchen Dokumenten anschließend das neu generierte Dokument nicht öffnen. Es erscheint die Fehlermeldung "Sie haben Versucht einen Layoutbereich in eine Tabelle zu laden".
Das war das grobe Problem.
Neue Erkenntnis:
Die Dokumente die sich nicht öffnen lassen haben alle eine Gemeinsamkeit. Bei Erstellen frisst das RT Feld den rest des Dokuments auf. Das RT Feld hat also einen Anfang aber keine Ende. Die Tabellen und Felder unterhalb des RT Feldes sind alle im RT Feld enthalten und ich kann Schriftgröße usw ändern.
Glombi:
Ich würde es mit
Inserts the contents of one rich text item in another.
Defined in
NotesRichTextItem
Syntax
Call notesRichTextItem.AppendRTItem( notesRichTextItem2 )
Parameters
notesRichTextItem2
The item to be appended. If you specify Nothing, this method generates an error.
machen. D.h erstmal aus hotdoc das RichTextItem per Script setzen und dann mit AppendRTItem das "Body" dort anhängen.
Andreas
BMWTordi:
Danke für den Tip. Habe es jetzt so gelöst:
Dim body As NotesRichTextItem
Set body = doc.GetFirstItem("body")
Dim new_body As NotesRichTextItem
Set new_body = New NotesRichTextItem(hotdoc, "bemerk" )
Call new_body.AppendRTItem( body)
Call hotdoc.Save(True,False,True)
Aber das Problem ist leider noch da.
Glombi:
Mach mal anstelle von
Set new_body = New NotesRichTextItem(hotdoc, "bemerk" )
ein
Set new_body = hotdoc.GetFirstItem("bemerk" )
Das mit dem New ist immer so eine Sache, wie wir gestern auch in einem anderen Thread gesehen haben.
Andreas
BMWTordi:
Wenn ich das so durchziehe hab ich einen object Variable not set:
Dim body As NotesRichTextItem
Set body = doc.GetFirstItem("body")
Dim new_body As NotesRichTextItem
Set new_body = hotdoc.GetFirstItem("bemerk" ) <--- genau hier
Call new_body.AppendRTItem( body)
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln