zwei leere Absätze erkennen einen löschen [gelöst]

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

zwei leere Absätze erkennen einen löschen [gelöst]

Beitrag von clag »

Hallo Kenner und Könner,

in einem Makro habe ich mit hilfe von "Enum" den TextCusor auf einen bestimmten Absatz/Paragraphen gesetzt,
die nächsten beiden Absätze sind vermutlich leer das möchte ich prüfen
und wenn wahr, einen leeren Absatz löschen/entfernen

Code: Alles auswählen

enum.......
   if TextElement.supportsService("com.sun.star.text.Paragraph") then
   ytext = left(TextElement.string,11)
   if yText = "Posted By :" then 
   mytextCursor.gotorange( TextElement.Anchor, false )
   mytextcursor.gotoStartofParagraph(false)
   mytextcursor.gotoEndofParagraph(true)
   print mytextcursor.string  '(nur zum prüfen)

' wenn nun die nächsten beiden Absätze leer sind, einen davon löschen 
....
kann mir bitte jemand zeigen wie das in Basic aussehen/ausgedrückt werden müsste ?

schonmal Danke für ........
Zuletzt geändert von clag am Fr, 22.10.2010 08:48, insgesamt 1-mal geändert.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: zwei leere Absätze erkennen einen löschen

Beitrag von clag »

Hallo Leutz,

bin schon etwas weiter gekommen, im Prinzip funktioniert es :)
den Code empfinde ich aber als sehr holprig, vielleicht hat ja doch wer eine bessere Idee!

Code: Alles auswählen

mytextCursor.gotorange( TextElement.Anchor, false )
mytextcursor.gotoStartofParagraph(false)
mytextcursor.gotoEndofParagraph(true)

mytextcursor.gotoNextParagraph(false)
mytextcursor.gotoStartofParagraph(false)
mytextcursor.gotoEndofParagraph(true)
myCheck = mytextcursor.string

mytextcursor.gotoNextParagraph(false)
mytextcursor.gotoStartofParagraph(false)
mytextcursor.gotoEndofParagraph(true)
myCheck = myCheck & mytextcursor.string

if mycheck = "" then 
   'print "myCheck ist leer ! "
   mytextcursor.gotoPreviousParagraph(2,false)
   mytextcursor.gotoendofparagraph(false)
   mytextcursor.goright(1,true)
   oDoc.text.insertstring(mytextcursor,"",true)

end if
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: zwei leere Absätze erkennen einen löschen

Beitrag von Karolus »

Hallo
Nur mal als Anregung:

Code: Alles auswählen

Sub absaetze_checken
enumer = thiscomponent.text.createenumeration()

while enumer.hasmoreelements
	opara = enumer.nextelement 
	ostring = opara.string
	msgbox ostring
	if ostring = "Das ist Absatz drei." then
		opara.dispose()
	end if
wend

End Sub
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: zwei leere Absätze erkennen einen löschen

Beitrag von clag »

Hallo Karolus,

da hatte ich die Frage falsch formuliert und ich meinte eigentlich zwei leere Zeilen

dein Vorschlag ist von daher völlig richtig (was auch sonst) :)

aber für mich leider nicht das Problem lösend :(

Danke....
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Antworten