ich suche innerhalb eines Dokumentes ein bestimmtes Wort, hierfür nutze ich den XSearchDescriptor.
Code: Alles auswählen
private Object wortSuchen(String gesucht) {
Object range = null;
try {
XTextDocument xTextDocument =
(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, xDocument);
XSearchable xSearchable =
(com.sun.star.util.XSearchable)
UnoRuntime.queryInterface(
com.sun.star.util.XSearchable.class, xTextDocument);
XSearchDescriptor xSearchDescr =
(com.sun.star.util.XSearchDescriptor)
xSearchable.createSearchDescriptor();
xSearchDescr.setSearchString(gesucht);
XPropertySet xSearchProp =
(com.sun.star.beans.XPropertySet)
UnoRuntime.queryInterface(
com.sun.star.beans.XPropertySet.class, xSearchDescr);
xSearchProp.setPropertyValue("SearchCaseSensitive",new Boolean(true));
xSearchProp.setPropertyValue("SearchWords",new Boolean(true));
range = (Object) xSearchable.findFirst(xSearchDescr);
XTextRange test = (XTextRange) range;
} catch( Exception e) {
e.printStackTrace(System.err);
}
return range;
}
Über diese Suche möchte ich gerne eine Start und eine Endposition im Dokument ermitteln (zwei Wörter, Ausgeblendet(Hidden)), dieser Bereich wird anschließend durch die Anwendung berarbeitet (XTextRange?)
Hat jemand eine Lösung, ein Ansatz, wie ich an diese Positionen komme? Gibt es ein besseren Weg?
(weiteres zum Thema :
viewtopic.php?t=6861&start=0&postdays=0 ... tbaustein)