Seite 1 von 1

Zugriff auf alle Absätze per Textcursor

Verfasst: Mo, 14.11.2005 13:37
von msel
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!

Verfasst: Mo, 14.11.2005 15:40
von Toxitom
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