Zugriff auf alle Absätze per Textcursor

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zugriff auf alle Absätze per Textcursor

von Toxitom » Mo, 14.11.2005 15:40

Hallo Maria,

also, der Beginn ist ganz gut.

Dann wird es "holbrig" :wink:

mit oDoc.text erhälst du den kompeten Textblock als Objekt.

Dieser besteht aus einzelnen Paragrafen (Absätzen) , die so als Objekt noch nicht ansprechbar sind. Normalerweise erhälst du die einzelnen Absätze durch Erzeugen einer Enummeration und dann durch Iteration durch die Absätze.
Also in der Form:

Code: Alles auswählen

objText = objDokument.Text
oEnum = objText.createEnumeration
Do while oEnum.hasMoreElements
    oAbsatz = oEnum.nextElement
    REM hier folgt jetzt deine Manipulation des Absatzes

loop
Die While/Wend Schleife ist deprecated und sollte nicht mehr benutzt werden.

Wenn du so die Absätze einzeln erhälst, kannst du nun deine Manipulationen vornehmen. Ob du dazu wirklich einen Textcursor brauchst, weiss ich nicht. Da musst du schon mehr schreiben, was du eigentlich erreichen willst.

Bitte bedenke:
Auch Texttabellen weren intern als Absätze behandelt und werden bei der Schleife mit gefunden. Du musst also noch eine Verzweigung einabauen, um diese Fälle abzufangen!

Gruss
Thomas

Zugriff auf alle Absätze per Textcursor

von msel » Mo, 14.11.2005 13:37

Ich möchte mit Hilfe des Textcursors nacheinander auf alle Absätze zugreifen.

Dim objDokument as Object
Dim objText As Object
Dim objCursor As Object
objDokument = GlobalScope.ThisComponent
objText = objDokument.Text
objCursor = objText.createTextCursor
objCursor.gotoStart(False)
objCursor.gotonextparagraph(False)

While objCursor <> ???
objCursor.gotonextparagraph(False)
Wend

Wie kann ich erreichen, dass ich nicht den Cursor über das Textende hinausschiebe (Abbruch der While-Wend-Schleife)?

Mit freundlichen Grüßen, Maria!

Nach oben