Hallo Shirkan
ja, habe ich:
Code: Alles auswählen
Sub delete_Paragraph
Dim myDoc as object
Dim myTextCursor as object
Dim ncount as integer
myDoc = thiscomponent
ncount=inputbox ("Nummer des zu löschenden Absatzes:","Absatz löschen")
mytextCursor=mydoc.text.createtextcursor()
mytextCursor.gotoStart(false)
for i=1 to ncount-1
mytextCursor.gotoNextParagraph(false)
next i
if mytextCursor.gotoNextParagraph(true)=true then
else
mytextCursor.gotoPreviousParagraph(false)
mytextCursor.gotoEndOfParagraph(false)
mytextCursor.gotoNextParagraph(true)
mytextCursor.gotoEndOfParagraph(true)
endif
mytextcursor.setString("")
End sub
mit der Zeile
wird geprüft, ob es einen nächsten Absatz gibt, was beim Letzten nicht der Fall ist.
Hier muß dann anders vorgegangen werden.
1.) einen Absatz zurück
2.) an dessen Ende (vor das CRLF)
3.) von hier an bis in den nächsten Absatz markieren (true)
4.) vom Anfang des nächsten (letzten) Absatzes bis vor dessen CRFL markieren (true)
so löschen wir quasi dieses:
dies ist der vorletzte Absatz
CRLF
dies ist der letzte AbsatzCRLF
Das letzte CRLF springt dann ans Ende des vorletzten Absatzes.
Gruß R