Makrá v OpenOffice.org 5/XVII. – Formátovanie dokumentu 9

Július Pastierik  /  23. 05. 2007, 00:00

V (takmer) poslednom dieli o formátovaní dokumentu si ukážeme, ako vlastne dokážeme všetky naprogramované funkcie a dialógy využiť pomocou niekoľkých jednoduchých funkcií a procedúr.

Doteraz sme si uviedli všetky funkcie, ktoré chceme používať pre formátovanie nášho dokumentu. Zároveň sme si naprogramovali aj dialógový modul, pomocou ktorého dokážeme nastaviť viacero používateľských profilov. Ako to však všetko zjednotiť, aby sme v tom mali prehľad? Najlepšie tak, že si vytvoríme (ako sme už spomínali v minulých dieloch) modul „Formatovanie“, kde si naprogramujeme tieto makrá:

REM Makro pre načítanie nastavených formátovacích parametrov aktuálneho profilu
sub Nastav_formatovanie
 ' ON-line/Off-line nahrádzanie sa riadi manuálne alebo automaticky pomocou funkcií,
 ' ktoré sú definované v module "Nezalomitelne_predlozky" a tu sa tym nezaoberame
 if Profily_funkcie.aktualny_profil="" then
  ' Ak nie je vybraný iný profil, nastaví sa defaultný profil
  Profily_funkcie.aktualny_profil="Default"
 endif
 ' Načítame parametre
 Profily_funkcie.Citaj_definiciu_profilu(Profily_funkcie.aktualny_profil)
end sub

REM Makro pre celkové formátovanie dokumentu
sub Formatuj_dokument
 dim kolko as long
 Nastav_formatovanie
 Formatovanie_funkcie.Init
 kolko=Formatovanie_funkcie.f_Viacnasobna_Medzera(_
  Profily_funkcie.Priznaky_formatovania(9),_
  Profily_funkcie.Priznaky_formatovania(10),_
  Profily_funkcie.Priznaky_formatovania(12),_
  Profily_funkcie.Priznaky_formatovania(11),_
  Profily_funkcie.Priznaky_formatovania(13))
 if Profily_funkcie.Priznaky_formatovania(14)=1 then
  kolko=kolko+f_Prazdny_odstavec
 endif
 if Profily_funkcie.Priznaky_formatovania(1)=1 then
  kolko=kolko+f_Nezalomitelne_Spojky(Profily_funkcie.Priznaky_formatovania(3),_
   Profily_funkcie.Priznaky_formatovania(2))
 endif
 if Profily_funkcie.Priznaky_formatovania(5)=1 then
  kolko=kolko+f_Nezalomitelne_Tituly(Profily_funkcie.Priznaky_formatovania(6))
 endif
 if Profily_funkcie.Priznaky_formatovania(7)=1 then
  kolko=kolko+f_Nezalomitelne_Cisla(Profily_funkcie.Priznaky_formatovania(8))
 endif
 kolko=kolko+f_Vloz_Interpunkcia_Medzera(Profily_funkcie.Priznaky_formatovania(15),_
  Profily_funkcie.Priznaky_formatovania(16))
 msgbox("Prevedných "+kolko+" náhrad.", 0,"Formátovanie textu")
end sub

REM Niekoľko makier ako ukážky aj iných volaní, než pomocou celkového formátovania dokumentu

REM Makro pre vymazanie prázdnych odstavcov
sub Prazdny_odstavec
 Formatovanie_funkcie.Init
 msgbox("Vymazanie "+Formatovanie_funkcie.f_Prazdny_odstavec()+" prázdnych odstavcov.", 0,"Prázdne odstavce")
end sub

REM Makro pre vkladanie NBSP za predložky a spojky
sub Nezalomitelne_Spojky
 Formatovanie_funkcie.Init
 msgbox("Vložených "+Formatovanie_funkcie.f_Nezalomitelne_Spojky(1,1)+" nezalomiteľných medzier.", 0,"Nezalomiteľné spojky a predložky")
end sub

Pre vlastnú prácu nám teraz stačia dve makrá – prvé je makro „Nastav_Profil_Formatovania“, ktoré nájdeme v module „Profily_funkcie“ a druhé je makro „Formatuj_dokument“, ktoré sme si práve naprogramovali do modulu „Formatovanie“. Ako ste si mohli všimnúť, v makre „Formatuj dokument“ sa nachádza na konci riadkov znak podčiarknutia. Je to regulárny zápis v jazyku StarOffice Basic v prípade, že riadok je príliš dlhý a chceme ho takto rozdeliť na viacero riadkov, aby sme nestratili potrebný prehľad.

Pravdaže, ako sme si uviedli v predchádzajúcich zdrojových textoch, môžeme si vytvoriť viacero pomocných funkcií, ktoré budú volať iba niektoré z naprogramovaných funkcií so špecifickým nastavením parametrov. To všetko však už záleží od každého používateľa a jeho požiadavok.

Končíme piatu, veľmi veľkú časť o programovaní makier v OpenOffice.org. V šiestej časti budeme ešte stále pokračovať v oblasti práce s textovým procesorom Writer a uvedieme si niekoľko zaujímavých a praktických makier, ako je napríklad vzájomná zámena znakov Word Joiner za Non Break Space, zámena troch bodiek za znak „trojbodky“ a pod.

Na záver, ako obvykle, prikladáme odkaz na PDF verziu piatej časti seriálu o programovaní makier v OpenOffice.org – súbor „makra_v_ooo_5.pdf“, veľkosť 1.031.945 byte, MD5 kontrolný súčet 3177ACBEE3C5432AB62400AE619A1CD3.

Neprehliadnite: