Naposledy sme si povedali, že makrá pre formátovanie dokumentov rozdelíme do dvoch modulov, pričom sme si uviedli zdrojové texty modulu „Formatovanie_funkcie“. Dnes si ukážeme, ako budeme tieto funkcie volať v procedúrach, ktoré uložíme do modulu „Formatovanie“. Prístup k podprogramom, ktoré sa nachádzajú v iných moduloch nám umožňuje zápis, ktorý je podobný zápisu pri volaní metód v rámci objektových premenných:meno_modulu. meno_podprogramu
Ako sme si spomínali minule, chceme zároveň naprogramovať procedúru, ktorá bude volať všetky formátovacie funkcie. Pri ich volaní však nemôžeme použiť hocijaké poradie, pretože potom by sme nedosiahli požadovaný výsledok. Ako prvé musia byť prevedené rôzne zámeny, pretože napr. pred „trojbodkou“ nechávame medzeru, ale pred bodkou nie. Následne je potrebné vymazať viacnásobné medzery, lebo potom by v prípade ich výskytu napr. za spojkou zostala kombinácia nezalomiteľná + zalomiteľná medzera. Ešte pred opravou zalomiteľných medzier za spojkami a predložkami sa najprv musí vložiť medzera za interpunkčné znamienka, lebo potom by mohla zostať zalomiteľná medzera za spojkou, ak predtým pred ňou chýbala. Takisto pre opravou predložiek a spojok musíme zmazať nadbytočné medzery pri interpunkčných znamienkach, pretože v prípade, že napr. na konci zátvorky je iba spojka, zbytočne sa najprv zamení medzera za nezalomiteľnú, aby sa za chvíľu úplne vymazala. Pretože sme vo funkcii pre mazanie nadbytočných medzier pri pri interpunkčných znamienkach neuvažovali s možnosťou nezalomiteľnej medzery a tabelátora, musíme si najprv v module „Formatovanie_funkcie“ opraviť túto funkciu:
function f_Zmaz_Interpunkcia_Medzera as long
dim TAB as string
dim kolko as long
TAB=chr$(&H09) ' Tabelátor
kolko=Vymen_hladanim("(„|«|"+chr$(&H22)+"|(|[|{)","","", true, false, false)
kolko=kolko+Vymen_hladanim("(„|«|"+chr$(&H22)+"|(|[|{)"+NM, NM,"", true, false, false)
kolko=kolko+Vymen_hladanim("(„|«|"+chr$(&H22)+"|(|[|{)"+TAB, TAB,"", true, false,false)
kolko=kolko+Vymen_hladanim("(“|»|"+chr$(&H22)+"|)|]|}|,|.|!|?|;|:)","","", true,false,false)
kolko=kolko+Vymen_hladanim(NM+"(“|»|"+chr$(&H22)+"|)|]|}|,|.|!|?|;|:)", NM,"", true, false, false)
kolko=kolko+Vymen_hladanim(TAB+"(“|»|"+chr$(&H22)+"|)|]|}|,|.|!|?|;|:)", TAB,"", true, false, false)
f_Zmaz_Interpunkcia_Medzera=kolko
end function
V prípade, že budete potrebovať znak tabelátora aj v iných funkciách, je vhodné zaradiť jeho definíciu medzi spoločné premenné a následne jeho inicializáciu zaradiť do podprogramu Init. To však ponecháme prípadným záujemcom ako domácu úlohu. Modul „Formatovanie“, kde sú definované podprogramy pre formátovanie dokumentu môže pri dodržaní vyššie uvedených podmienok vyzerať napr. takto:
REM Makro pre odstraňovanie viacnásobných medzier
sub Viacnasobna_Medzera
Formatovanie_funkcie. Init
msgbox("Vymazanie"+Formatovanie_funkcie. f_Viacnasobna_Medzera()+"viacnásobných medzier.", 0,"Viacnásobné medzery")
end sub
REM Makro pre vkladanie nezalomiteľných medzier za predložky a spojky
sub Nezalomitelne_Spojky
Formatovanie_funkcie. Init
msgbox("Vložených"+Formatovanie_funkcie. f_Nezalomitelne_Spojky()+"nezalomiteľných medzier.", 0,"Nezalomiteľné spojky a predložky")
end sub
REM Makro pre vkladanie nezalomiteľných medzier pred a za akademické tituly
sub Nezalomitelne_Tituly
Formatovanie_funkcie. Init
msgbox("Vložených"+Formatovanie_funkcie. f_Nezalomitelne_Tituly()+"nezalomiteľných medzier.", 0,"Nezalomiteľné tituly")
end sub
REM Makro pre vkladanie nezalomiteľných medzier do dátumov
sub Nezalomitelne_Datumy
Formatovanie_funkcie. Init
msgbox("Vložených"+Formatovanie_funkcie. f_Nezalomitelne_Datumy()+"nezalomiteľných medzier.", 0,"Nezalomiteľné dátumy")
end sub
REM Makro pre vkladanie nezalomiteľných medzier medzi jednociferné čísla a text
sub Nezalomitelne_Jednociferne_Cisla
Formatovanie_funkcie. Init
msgbox("Vložených"+Formatovanie_funkcie. f_Nezalomitelne_Jednociferne_Cisla()+"nezalomiteľných medzier.", 0,"Nezalomiteľné jednociferné čísla")
end sub
REM Makro pre vkladanie nezalomiteľných medzier v telefónnych číslach
sub Nezalomitelne_Telefonne_Cisla
Formatovanie_funkcie. Init
msgbox("Vložených"+Formatovanie_funkcie. f_Nezalomitelne_Telefonne_Cisla()+"nezalomiteľných medzier.", 0,"Nezalomiteľné telefónne čísla")
end sub
REM Makro pre vkladanie nezalomiteľných medzier medzi čísla a merné jednotky
sub Nezalomitelne_Merne_Jednotky
Formatovanie_funkcie. Init
msgbox("Vložených"+Formatovanie_funkcie. f_Nezalomitelne_Merne_Jednotky()+"nezalomiteľných medzier.", 0,"Nezalomiteľné merné jednotky")
end sub
REM Makro pre vloženie nezalomiteľných medzier za čísla ako také
sub Nezalomitelne_Cisla
dim kolko as long
Formatovanie_funkcie. Init
kolko=Formatovanie_funkcie. f_Nezalomitelne_Datumy()
kolko=kolko+Formatovanie_funkcie. f_Nezalomitelne_Jednociferne_Cisla()
kolko=kolko+Formatovanie_funkcie. f_Nezalomitelne_Telefonne_Cisla()
kolko=kolko+Formatovanie_funkcie. f_Nezalomitelne_Merne_Jednotky()
msgbox("Vložených"+kolko+"nezalomiteľných medzier.", 0,"Nezalomiteľné čísla")
end sub
REM Makro pre mazanie nadbytočných medzier pri interpunkčných znamienkach
sub Zmaz_Interpunkcia_Medzera
Formatovanie_funkcie. Init
msgbox("Vymazaných"+Formatovanie_funkcie. f_Zmaz_Interpunkcia_Medzera()+"nadbytočných medzier.", 0,"Nadbytočné interpunkčné medzery")
end sub
REM Makro pre vkladanie chýbajúcich medzier pri interpunkčných znamienkach
sub Vloz_Interpunkcia_Medzera
Formatovanie_funkcie. Init
msgbox("Vložených"+Formatovanie_funkcie. f_Vloz_Interpunkcia_Medzera()+"chýbajúcich medzier.", 0,"Chýbajúce interpunkčné medzery")
end sub
REM Makro pre opravu (vloženie/vymazanie) medzier pri interpunkčných znamienkach
sub Oprav_Interpunkcia_Medzera
Formatovanie_funkcie. Init
msgbox("Opravených"+Formatovanie_funkcie. f_Zmaz_Interpunkcia_Medzera()+Formatovanie_funkcie. f_Vloz_Interpunkcia_Medzera()+"medzier.", 0,"Nesprávne interpunkčné medzery")
end sub
REM Makro pre rôzne zámeny (napr. troch bodiek za „trojbodku“)
sub Rozne_zameny
Formatovanie_funkcie. Init
msgbox("Vykonaných"+Formatovanie_funkcie. f_Rozne_zameny()+"výmien.", 0,"Rôzne zámeny")
end sub
REM Makro pre celkové formátovanie dokumentu
sub Formatuj_Dokument
dim kolko as long
Formatovanie_funkcie. Init
' Prvé musia byť rôzne zámeny
kolko=Formatovanie_funkcie. f_Rozne_Zameny()
' Potom odstránime viacnásobné medzery
kolko=kolko+Formatovanie_funkcie. f_Viacnasobna_Medzera()
' Opravíme medzery pri interpunkčných znamienkach
kolko=kolko+Formatovanie_funkcie. f_Zmaz_Interpunkcia_Medzera()+Formatovanie_funkcie. f_Vloz_Interpunkcia_Medzera()
' Vložíme nezalomiteľné medzery k číslam
kolko=kolko+Formatovanie_funkcie. f_Nezalomitelne_Datumy()+Formatovanie_funkcie. f_Nezalomitelne_Jednociferne_Cisla()+Formatovanie_funkcie. f_Nezalomitelne_Telefonne_Cisla()+Formatovanie_funkcie. f_Nezalomitelne_Merne_Jednotky()
' Opravíme nezalomiteľné medzery pri akademických tituloch
kolko=kolko+Formatovanie_funkcie. f_Nezalomitelne_Tituly()
' A nakoniec opravíme nezalomiteľné medzery pri spojkách a predložkách
kolko=kolko+Formatovanie_funkcie. f_Nezalomitelne_Spojky()
msgbox("Prevedných"+kolko+"náhrad.", 0,"Formátovanie textu")
end sub
Skončili sme druhú veľkú časť seriálu o programovaní makier v OpenOffice. org. Ako ste si mohli všimnúť aj v dnešnom dieli, uvedené funkcie určite neposkytujú všetky možnosti, ktoré pri práci potrebujeme. Na základe doterajších príkladov si však už určite dokážete naprogramovať aj prípadné úpravy, pomocou ktorých vhodne upravíte alebo rozšírite ich možnosti. V našom seriáli budeme teraz pokračovať treťou veľkou časťou, v ktorej si naznačíme možnosti programovania makier pre OpenOffice.org v oblasti vstupov a výstupov, t.j. budeme programovať rôzne vstupné formuláre (dialógové okná) a pod. Pri tomto programovaní sa stále budeme zaoberať funkciami pre formátovanie dokumentov, takže tieto znovu prekonajú niekoľko zmien.
Pre všetkých záujemcov sme zároveň pripravili PDF verziu práve ukončenej druhej časti seriálu o programovaní makier v OpenOffice.org – makra_v_ooo_2.pdf (379kB, MD5 kontrolný súčet – 458D576061D19D55F0D2FF7FD1C6C745). Ako príloha sú priamo v ňom vložené aj zdrojové texty makier v TXT formáte.
Makrá v OpenOffice. org 2/XI. – Záverečné úpravy
Novinky a inšpirácie
Z nášho blogu
Prečítajte si novinky, inšpirácie a dôležité informácie zo sveta webhostingu a technológií.
Novinky
Novinky na Inet.sk (09 / 2026)
Posledné mesiace sme v Inet.sk nevenovali len stabilite serverov, ale najmä počúvaniu vašich reálnych skúseností z každodennej praxe. Výs...
Oznamy
Plánovaná údržba v datacentre (20.09.2026)
Stabilita a nepretržitá dostupnosť vašich webov je pre nás kľúčová. Aby sme tento štandard nielen udržali, ale neustále zvyšovali, naši p...
Oznamy
Aktualizujte ihneď svoj Wordpress - Kritická zraniteľnosť (CVE-2026-63030)
Bezpečnostný tím WordPressu vydal núdzovú bezpečnostnú záplatu pre kritickú chybu označenú ako CVE-2026-63030. Táto zraniteľnosť dosiahla...
Novinky
Nespíme na vavrínoch, pozrite si našu úrodu nových webov
Prvých šesť mesiacov roka 2026 preverilo našu kreativitu aj technické nasadenie. Naše servery nezaznamenali len nárast prevádzky, ale aj ...
Podpora klientom
Máte ďalšie otázky?
Nezúfajte, pripravili sme pre Vás jednoduché odpovede na najdôležitejšie otázky, ktoré od našich klientov dostávame.
Naše výhody
Prečo si nás vybrať?
Našim klientom ponúkame až 30-dňovú záruku vrátenia peňazí.
Slovenská
firma
Nepatríme pod žiadnu nadnárodnú spoločnosť, sme malá rodinná firma.
Dlhoročné
skúsenosti
Na slovenskom trhu pôsobíme už viac ako 20 rokov, sme overená značka.
Spokojní
zákazníci
Naši zákazníci sú ako naša rodina, preto nám verí už viac ako 1250 klientov.
Maximálna
bezpečnosť
Chránime Vás pred útokmi i SPAMom. U nás sú Vaše dáta v bezpečí.
Ochotná
podpora
Zakladáme si na individuálnom prístupe, preto Vám vždy radi pomôžeme.
Výborný pomer
cena / výkon
Ponúkame kvalitné a stabilné služby za rozumnú cenu bez skrytých poplatkov.
Pravidelné
zálohovanie
Vaše dáta zálohujeme každý deň, dostupné sú aj zálohy z pred niekoľkých mesiacov.
Prehľadný
Admin Panel
Máme rýchly a prehľadný Admin Panel, ktorý zvládne používať naozaj každý.
Správa
používateľov
Spravujte svoje projekty bez akýchkoľvek obáv s kolegami alebo externými partnermi.
Vernostné
zľavy
Verní klienti u nás automaticky získavajú 15 % zľavu na každú ďalšiu objednávku.
Bez
obmedzení
Neobmedzujeme počet databáz, e-mailov, ftp a ani prenos dát.
WordPress
na 1 klik
Nainštalujte si obľúbené redakčné systémy rýchlo a jednoducho.
Referencie
Spokojní zákazníci
Pozrite sa, čo o nás povedali naši klienti. Neváhajte a pridajte sa k nám ešte dnes.
"S firmou Inet.sk sme veľmi spokojní, vrelo ju odporúčam. Profesionálny a ústretový prístup pána Slančíka, seriózne jednanie a rýchla implementácia našich požiadaviek, 100% spokojnosť. Všetky služby od webhostingu cez výrobu stránky až po detailný servis počas chodu tu máme pod jednou strechou."
Ing. Jozef Brázdik
BB motors, s.r.o.
"Mal som možnosť vyskúšať rôzne webhostingy, ale nakoniec som sa rozhodol všetky moje stránky zveriť Inet.sk. Webhosting zvláda jednoduché, ale aj veľmi náročné stránky a magazíny. Podporuje najnovšie technológie a má veľmi prehľadnú a jednoduchú správu domén. Komunikácia s technickou podporou Inet.sk je vynikajúca a za mňa môžem túto firmu iba doporučiť."
Richard Horný
Final Vision, s. r. o.
"Pri migrácii našej stránky sme sa stretli s maximálnou podporou a profesionálnym prístupom. Inet.sk nám nielen pomohol celý proces zvládnuť bez komplikácií, ale tiež poskytol odborné poradenstvo, ktoré zabezpečilo hladký prechod. Ich hosting je rýchly a najmä stabilný, rovnako oceňujeme aj ich priateľskú komunikáciu."
Peter Kasan
Svet-mineralov.sk
"Proces migrácie bol zrealizovaný hladko a efektívne, pričom všetky kroky boli vykonané precízne a bez výpadkov. Inet.sk poskytol spoľahlivé a profesionálne riešenie, ktoré zjednodušilo správu domén a optimalizovalo ich prevádzku. Oceňujeme ich stabilnú infraštruktúru a kvalitné hostingové služby."
Lukáš Kazík
LKStudio.sk
"Mám u Inet.sk zaparkovanú jednu doménu a mám pocit, že tam zaparkujem aj všetky ostatné domény, ktoré mám, pretože po dlhoročných skúsenostiach s rôznymi inými firmami, mi Vaše služby vyhovujú zatiaľ najviac. Odporúčam kvôli dobrej konektivite a primeranej cene + rýchly support."
Ladislav Kéry
vypnutieimobilizera.sk
"Po rokoch skúšania dodávateľov na poli webhostingových služieb sme našli svojho spoľahlivého a stabilného partnera tu. Stabilita, ochota, znalosť, dobrá cena a rýchle vyriešenie prípadných problémov - to je pre nás Inet.sk."
Jaroslav Mráz
Allycom, s.r.o.
"Máme u Vás doménu a hosting. So službami sme nadmieru spokojní. Z Vašej strany máme pozitívne skúsenosti ako sú: rýchle jednanie, znalosť v problematike, ochota pomôcť, stabilita, zavádzanie noviniek, ak ich klient vyžaduje a dobrá cena. Za nás môžeme Inet.sk len odporučiť. Ďakujeme."
Mgr. Zuzana Valovičová
BL servis, s.r.o.