Hallo zusammen,
@Bernhard:
Danke für deinen Tipp, es lag wirklich daran, dass ich das SetEnd beim RichTextRange vergessen hatte.
Jetzt habe ich noch ein kleines Problem:
In meinem RT-Feld ist jetzt der komplette Text entfernt worden und alle EmbeddedObjects wurden erhalten (so wie ich das wollte !!)
Leider stehen jetzt dort, wo vorher Text vorhanden war, leere Zeilen, dadurch ist mein RT-Feld noch genauso groß wie vorher.
Wie kann ich diesen überflüssigen Platzverbrauch verhindern bzw. das RT-Feld auf den Platz "zusammenschrumpfen", den die dort enthaltenen EmbeddedObjects benötigen?
Habe es bisher mit rti.compact() versucht aber ohne Erfolg.
Mein Java-Code:
private void removeText(Document docNeu)
{
try
{
rtTemp = (RichTextItem)docNeu.getFirstItem("RT_Temp");
rtNav = rtTemp.createNavigator();
if (rtNav.findFirstElement(RichTextItem.RTELEM_TYPE_TEXTPARAGRAPH) |
rtNav.findFirstElement(RichTextItem.RTELEM_TYPE_TEXTRUN))
{
RichTextRange rtRange = rtTemp.createRange();
do
{
rtRange.setBegin(rtNav);
rtRange.setEnd(rtNav);
rtRange.remove();
rtTemp.update();
}
while (rtNav.findNextElement(RichTextItem.RTELEM_TYPE_TEXTPARAGRAPH) |
rtNav.findFirstElement(RichTextItem.RTELEM_TYPE_TEXTRUN));
}
rtTemp.compact();
}
catch(Exception e) {e.printStackTrace();}
}
Gruß, Simon