Makrá v OpenOffice.org I. – začíname …
Mnohí používatelia kancelárskych balíkov poznajú pojem makro, iní však ani nevedia, čo to makro vôbec je. Mnohí z tých, ktorí sa s týmto pojmom už stretli by si chceli makro naprogramovať sami, ale nevedia, ako na to. Preto vznikol tento seriál, aby dal niektoré odpovede na tieto otázky.
Veľmi veľa používateľov kancelárskych balíkov skôr či neskôr narazí na problém, ktorý sa dá vyriešiť pomocou jednoduchého makra. Ale nie každý vôbec vie, že sa to dá takto riešiť a z tých, ktorí makrá poznajú aspoň ako pojem, si málokto trúfa také makro aj naprogramovať.
V nasledujúcom seriáli sa rozhodne nebudeme snažiť urobiť zo všetkých používateľov programátorov, ale budeme sa ich snažiť naučiť aspoň základy, aby si niektoré jednoduché veci dokázali naprogramovať sami. Zároveň v ňom budeme uvádzať jednoduché príklady makier, ktoré, samozrejme, mnohí dokážu priamo využiť vo svojej každodennej práci s kancelárskym balíkom OpenOffice.org.
Vhodné inšpirácie tu však určite nájdu aj používatelia iných kancelárskych balíkov, akým je napr. Microsoft Office. „Nudné“ ale potrebné informácie na úvod
Priznám sa, že nemám rád zbytočné definície, a preto si dovolím predstaviť makro v kancelárskom balíku OpenOffice.org je program, pomocou ktorého si dokážeme uľahčiť našu prácu s týmto programom alebo program, ktorý nám rozširuje jeho možnosti. Tieto programy môžu byť nielen maličké a jednoduché, ako je napr. vloženie záhlavia listu, ale aj pomerne rozsiahle, ako je napr. francúzsky makromodul Dmaths (
www.dmaths.com), pomocou ktorého dokážeme o.i. priamo do textového dokumentu vkladať grafy funkcií.
Vývojom makier pre OpenOffice.org sa zaoberá pomerne dosť programátorov, ktorí výsledky svojej práce poskytujú zadarmo, ako sme u Open Source programov vlastne zvyknutí, vrátane zdrojových textov aj iným. Z mnohých zdrojov takýchto makier spomeňme aspoň
www.ooomacros.org/index.php. Mnohí tu určite nájdu zaujímavé makrá, ktoré priamo dokážu využiť pre svoju potrebu, iní aspoň inšpiráciu pre vlastnú tvorbu.
Skôr než pristúpime k vlastnej práci, ešte si musíme spomenúť, že makrá môžeme rozdeliť na dve základné skupiny.
Prvá skupina makier (ako je napr. už aj spomínaný makromodul Dmaths) rozširuje vlastnosti OpenOffice.org a preto sa stávajú jeho súčasťou bez ohľadu na spracovávaný dokument. Takýmito makrami sa budeme zaoberať aj v našom seriáli.
Okrem toho existuje aj iná skupina makier,ktorá je potrebná iba pre konkrétny dokument a preto takéto makrá bývajú súčasťou iba tohto dokumentu. Pri ich otváraní bývame upozornení (ak sme si to, samozrejme, nezakázali), že dokument obsahuje makro a teda že môže byť potenciálnym zdrojom vírusov.
I keď som sa osobne s vírusmi v mne známych makrách pre kancelársky balík OpenOffice.org zatiaľ ešte nestretol, musím na tomto mieste na túto skutočnosť upozorniť. Táto skutočnosť, samozrejme, neznamená, že by sa takéto makrá nemali používať. Práve naopak, ich miesto je naozaj dôležité a mnohokrát nezastupiteľné. V konečnom dôsledku sa takýmto spôsobom distribuujú skoro všetky makrá, vrátane už viackrát spomínaného makromodulu Dmaths.
Konečne „programujeme“ Aby sme v tomto seriáli oslovili čo najviac používateľov, budeme sa prioritne venovať modulu Writer, pretože prevažná väčšina používateľov pracuje práve s ním. Začneme tým najjednoduchším „programovaním“ – nahrávaním toho, čo píšeme. Týmto si môžeme vytvoriť napr. makro, pomocou ktorého automaticky vložíme záhlavie listu, alebo pozdrav s podpisom.
V hlavnom menu kancelárskeho balíka OpenOffice.org si vyberieme položku „Nástroje-Makrá-Nahrať makro“, ktorú si prípadne môžeme nechať zobrazovať aj na paneli funkcií. Po jej výbere sa nám zobrazí malé plávajúce okno „Nahrať makro“, kde nájdeme jediné tlačidlo „Zastaviť nahrávanie“, ktoré je, samozrejme, určené na ukončenie vlastného nahrávania. Toto okno si zatiaľ nebudeme všímať a začneme vkladať text, ktorý chceme nahrať, napr.:
Toto je prvé makro, ktoré nahrávam v OpenOffice.org podľa seriálu na www.inet.sk
Teraz sa vrátime k už spomínanému oknu „Nahrať makro“ a zastavíme nahrávanie. Následne sa nám zobrazí nové dialógové okno „Makro“. V ňom sme vlastne vyzvaní, aby sme uložili práve „naprogramované“ makro pre vloženie napísaného textu.
V zozname „Uložiť makro do“ nájdeme položku „soffice-Standard-Module1“ a v okienku „Názov makra“ zadáme názov, pod akým chceme toto makro používať.
Pri programovaní si musíme zvyknúť, že názvy (a to nielen makier, ale obecne akékoľvek názvy v programoch) nemôžu mať ľubovoľný tvar, t.j. musia začínať písmenom, nesmú obsahovať pomlčky, medzery, či iné netlačiteľné znaky. Zároveň nesmieme používať znaky s diakritikou. Pokiaľ sa pokúsime o zapísanie nesprávneho názvu, OpenOffice.org nás na to upozorní.
Z vlastnej praxe vám môžem doporučiť, že ak chcete používať prehľadné dlhé názvy s oddeľujúcou medzerou, namiesto nej je najvhodnejšie použiť ako náhradu znak podčiarknutia.
Po zadaní správneho mena (napr. Prve_makro) pomocou tlačidla „Uložiť“ uložíme naše makro. Ak sme sa náhodou pomýlili, a makro nechceme uložiť, ukončíme prácu pomocou tlačidla „Zavrieť“.
Ako spustíme makro? Napísali sme svoje prvé makro.
Robili sme ho však preto, aby sme ho mohli používať aj inokedy a preto musíme vedieť, ako makro spustíme. Cez voľbu „Nástroje-Makrá-Makro“ znovu otvoríme dialógové okno „Makro“.
Znovu prejdeme na položku „soffice-Standard-Module1“ a vo vedľajšom okienku sa nám zobrazí zoznam našich makier, kde teraz vidíme aj naše „Prve_makro“.
Prejdeme naň a stlačíme tlačidlo „Spustiť“ Do aktuálneho textového dokumentu sa nám automaticky vloží nami zadefinovaný (teda nahraný) text:
Toto je prvé makro, ktoré nahrávam v OpenOffice.org podľa seriálu na www.inet.sk Ako vidíme, naše makro funguje bezchybne a stalo sa súčasťou kancelárskeho balíka OpenOffice.org. Určite si teraz mnohí z vás vedia predstaviť, načo všetko sa takéto jednoduché nahrávanie dá využiť. Pripomeňme preto iba, že pri takomto nahrávaní sa zapamätajú, samozrejme, aj formátovacie nastavenia, ako je typ a rez písma, veľkosť, farba a pod., takže si môžeme veľmi jednoducho vytvoriť naozaj bohatú skupinu rôznych zaujímavých makier.
Na budúce: Možnosti spúšťania makier, alebo konfigurujeme OpenOffice.org
Ďalšie články v tejto kategórii
Najnovšie články na Inet.sk
Pôvodná diskusia k článku
Dobra tema na serial.
Dufam, ze tento serial neukoncite v tretom diely, pretoze co sa tyka OO je celkovo tazke najst radu ako dalej. Aj ked existuju dobre webove stranky. Zvlast sa to tyka makier.
Ked som pred nedavnom potreboval v jednom dokumente pouzit viac roznych makier, tak spociatku to bolo super. Ale ked som mal uz par makier nahratych vzdy sa pri x-tom makre nieco pokazilo a uz pri spusteni akehokolvek makra zacal OO vyhadzovat chybu. Zial nikde som nenasiel radu.
20. 10. 2005
Martn
87.197.216.xxx
Zatial mam rozpracovanych 7 dielov, takze urcite neskoncime po tretom. Privitam, ak mi zaslete aj namety na makra, aby som ich pripadne naprogramoval a uverejnil. Ak mate problemy s inymi makrami, napiste mi na mail - pripadne poslite zdrojaky s presnejsim popisom co to ma robit a kde sa to kuslo a skusim sa na to pozriet.
20. 10. 2005
Július Pastierik
213.81.170.xxx
Me by konkretne zajimalo, jak v ooo napr v makru adresuju bunky, listy a sesity. Zkousel jsem to jako v Excelu a nejde to. Proste jak se pristupuje k objektum.
Marek
21. 10. 2005
netservis
212.67.84.xxx
netservis napísal: Me by konkretne zajimalo, jak v ooo napr v makru adresuju bunky, listy a sesity. Zkousel jsem to jako v Excelu a nejde to. Proste jak se pristupuje k objektum.
Marek
Síce predbiehame, ale príklad adresácie bunky v calcu: dim dokument, list, bunka as object rem pristup k dokumentu dokument=stardesktop.currentcomponent rem pristup k listu c. 1 - v programe sa cisluje od 0 list=dokument.sheets(0) rem pristup k bunke b7 (stlpec 1, riadok 6) bunka=list.GetCellByPosition(1,6) hodnota=bunka.string
21. 10. 2005
Július Pastierik
213.81.170.xxx
super clanok, len tak dalej uz sa nemozem dockat dalsieho pokracovania
neviete mi niekto poradit ?
potreboval by som nejake makro na syntax highlighting pre writer
21. 10. 2005
stallone
84.47.95.xxx
Chcem pochváliť za pekný príspevok.
Pevne dúfam, že bude mať veľa pokračovaní.
21. 10. 2005
robert gonda
213.215.102.xxx
Trocha pracujem s makrami pod Excelom. No konečne je tu niečo aj pre OO! Super.
22. 10. 2005
Kraki
213.81.171.xxx
stallone napísal: super clanok, len tak dalej uz sa nemozem dockat dalsieho pokracovania
neviete mi niekto poradit ?
potreboval by som nejake makro na syntax highlighting pre writer
Mozte mi tu syntax trochu popisat? Najlepsie, ak by ste mi to poslali mailom. Dakujem
22. 10. 2005
Július Pastierik
213.81.173.xxx
V OO Base je spousta maker. Nenasel jsem k nim zadny popis jejich cinnosti. Existuje nekde ?
24. 10. 2005
Stefan
81.19.41.xxx
Opravdu super článek, již se těším na další pokračování, jen tak dál. Děkuji, Daniel Nevečeřal.
24. 10. 2005
Daniel Nevečeřal
194.213.41.xxx
Mam problem s dokumentom v Calcu. Ked ho spustim OO mi vypise:
This document contain macros.
Execution of this macros is disabled due to the current macro security setting. Therefore some functionality may not be available.
Mozem kliknut len OK.
Dokument mi koli tomu nefunguje ako ma. POradte.
dakujem
24. 10. 2007
Maroš
213.151.217.xxx