Seite 1 von 1
Writer Absatz löschen
Verfasst: Mi, 23.11.2011 13:23
von Shirkan
Liebe Leute,
selbst wenn ich hier jetzt wieder Dresche bekomme: Ich habe einen TextCursor an das Ende einer Zeile gesetzt und möchte nun den nachfolgenden Absatz löschen. Es würde >Entf< bei Tastatureingabe ensprechen, nur brauche ich dies als BasicCode. Kann mir jemand einen Tipp geben.
Gruß Markus
Re: Writer Absatz löschen
Verfasst: Mi, 23.11.2011 17:08
von F3K Total
Hallo,
so vielleicht?
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
mytextCursor.gotoNextParagraph(true)
mytextcursor.setString("")
End sub
Gruß R
Re: Writer Absatz löschen
Verfasst: Mi, 23.11.2011 18:25
von Shirkan
Hallo R,
das funktioniert super. In meinem Fall möchte ich nun einen bestimmten Absatz in der Kopfzeile bzw. in einem Frame löschen. Das werde ich heute Abend mit dem Code probieren. Schon mal vielen Dank für Deine Hilfe.
Gruß Markus
Re: Writer Absatz löschen
Verfasst: Fr, 25.11.2011 15:10
von Shirkan
Hallo R,
Dein Makro funktioniert auch für die Kopfzeile und bestimmte Frames, allerdings kann der letzte Absatz nicht gelöscht werden. Hast Du noch eine Idee dazu wie dasgehen könnte. Ich weiß gar nicht an welchen Schrauben ich da drehen muss.
Gruß Markus
Re: Writer Absatz löschen
Verfasst: Fr, 25.11.2011 16:56
von F3K Total
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
Re: Writer Absatz löschen
Verfasst: Fr, 25.11.2011 17:58
von Shirkan
Hallo R,
das ist genial und funktioniert super. So stelle ich mir das Forum vor - leider kann ich derzeit aufgrund meiner Kenntnisse noch nicht so behilflich sein.
Gruß Markus