Dá sa to pomocou makra, tu je zdrojový text z rozšírenia pre formátovanie textu, ktoré bude zverejnené na OpenOffice.cz. Pozor, makro zatiaľ vloží namiesto "enter" dve medzery.
REM Makro pre zámenu koncov odstavcov (CR a LF) za medzeru (odstráni znaky CR a LF z textu)
REM Makro funguje iba v označenom (vybranom) texte
Sub Zrusenie_Odstavcov
' Na konci odstavcov je kombinácia znakov CR+LF,
' na konci riadkov (shift+enter) iba znak LF.
' Preto zrušenie odstavcov spočíva vlastne v odstránení znakov CR a nahradení znakov LF za medzeru.
dim dokument, vyber as object
dim vyber_ktory, dlzka_riadku, i as long
dim pocet_LF as long
dim riadok as string
dim znak, CR, LF, slovo as string
dim zamena as boolean
pocet_LF=0
CR=chr(&H0D)
LF=chr(&H0A)
slovo="Pozor, funkcia nastaví formátovanie odstavcov podľa posledného z nich!"+CR+CR
slovo=slovo+" Naozaj ju chcete spustiť?"+CR+CR
ooo=msgbox(slovo,4,"Zrušenie odstavcov")
if ooo=6 then
' STlačené tlačidlo "ÁNO"
Dokument=ThisComponent
vyber=dokument.getCurrentSelection() ' aktualny vyber
vyber_pocet=vyber.getCount() ' Pocet vyberov
for vyber_ktory=0 to vyber_pocet-1
riadok = vyber.getByIndex(vyber_ktory).getString() ' riadok z vyberu
dlzka_riadku=len(riadok)
zamena=false
rem pre vsetky znaky riadku
for i=1 to dlzka_riadku
znak=mid(riadok,i,1) ' spracovavame i-ty znak z riadku
if instr(CR,znak)<>0 then
' znak je CR, odstránime ho (zatiaľ iba nahradíme medzerou, odstránenie v novej verzii)
mid(riadok,i,1," ")
dlzka_riadku=len(riadok)
zamena=true
endif
if instr(LF,znak)<>0 then
' znak je LF, nahradíme ho medzerou
mid(riadok,i,1," ")
dlzka_riadku=len(riadok)
pocet_LF=pocet_LF+1
zamena=true
endif
next i
if zamena then
' Zameníme starý text za nový, čím odstránime odstavec - ak bol
vyber.getByIndex(vyber_ktory).setString(riadok)
endif
next vyber_ktory
endif
msgbox("Zrušených "+pocet_LF+" odstavcov",0,"Rušenie odstavcov")
End Sub