Archív Inet.sk Pôvodný autor: Július Pastierik
17. 10. 2007 o 00:00 8773x

Makrá v OpenOffice.org 6/X. – Zdroje informácií

Chcete si naprogramovať nejaké makro, potrebujete zistiť premenné metódy, ktoré používa OpenOffice.org a neviete ako na to? Dnes si ukážeme niekoľko možností, ako to dokážete zistiť.
Makrá v OpenOffice.org 6/X. – Zdroje informácií

V predchádzajúcich 62 dieloch (áno, bolo ich presne 62) seriálu o programovaní makier sme si ukazovali rôzne makrá, pričom sme používali najrôznejšie premenné a metódy, ktoré nám ponúka OpenOffice.org. Samozrejme, mnohým už prišla na um otázka, ako a kde sa dajú získať podrobnejšie informácie.

Analýza premenných

Pokiaľ poznáme premennú, ktorú potrebujeme iba preskúmať, ponúka nám nástroj priamo jazyk StarOffice Basic. Objekty majú totiž v sebe zabudované aj dva reťazce, ktoré obsahujú základné informácie:

DBG_properties – reťazec, ktorý obsahuje všetky vlastnosti objektu
DBG_methods – reťazec, ktorý obsahuje všetky metódy objektu

Väčšina objektov má zabudovaný aj tretí reťazec DBG_supportedInterfaces, ktorý obsahuje informácie o rozhraniach, ktoré objekt používa.

Zoznam vlastností

Napríklad pomocou nasledujúceho makra dokážeme zistiť potrebné údaje pre objekt „ThisComponent.CurrentController.Frame“:



sub metody
 dim premenna as object
 premenna=ThisComponent.CurrentController.Frame

 msgbox premenna.DBG_properties
 msgbox premenna.DBG_methods
 msgbox premenna.DBG_supportedInterfaces
end sub

Nevýhoda tohto riešenia je taká, že chýba akýkoľvek bližší popis a preto mnohokrát nezostáva nič iné, iba metódou pokusov a omylov zisťovať, na čo sa ktorá vlastnosť alebo metóda používa.



Zoznam metód

Zoznam rozhraníAko vhodnejší spôsob sa javí použiť už hotové makro XrayTool, ktoré nielenže dokáže vypisovať tieto údaje, ale ich vypisuje aj v omnoho prehľadnejšej forme. Makro je možné stiahnuť v češtine zo stránok Tomáša Bílka, autora minule predstaveného makra TypoJTB. Jeho inštaláciu si schválne nebudeme uvádzať, pretože už musíme predpokladať, že čitatelia tohto seriálu to dokážu vykonať sami.

Po jeho nainštalovaní je potrebné ešte naprogramovať dve malé procedúry. V prvej budeme inicializovať makro XrayTool a v druhej zisťovať údaje o konkrétnej premennej. Osobne mám naprogramované tieto procedúry v nasledujúcej podobe (pre spúšťanie makra používam procedúru ZistiMetody):



XrayTool
sub LoadingLibrariesXrayTool
 BasicLibraries.LoadLibrary("XrayTool")
End Sub

sub ZistiMetody
 LoadingLibrariesXrayTool
 dim premenna as object

 REM Nastav podľa potreby
 premenna=ThisComponent

 xray premenna
end sub

Prechádzanie po štruktúre

Pri takomto nastavení dokážeme zistiť údaje o všetkých premenných, pretože makro XrayTool umožňuje prechádzať po štruktúre. Pokiaľ sa presunieme na nejakú vlastnosť alebo metódu (stačí kliknúť na príslušnom riadku), pomocou tlačidla „Prozkoumat vlastnost/metodu“ sa nám zobrazia buď jej obsah, alebo vnútorná štruktúra, ktorú môžeme skúmať ďalej. Pravdaže, nájdeme tu aj už spomínané premenné DBG_properties, DBG_methods a DBG_supportedInterfaces.

Popis vlastností

Pri vlastnom skúmaní máme možnosť prepínať medzi štyrmi údajmi – vlastnosťami, metódami, službami a rozhraním. Pokiaľ prechádzame po vnútornej štruktúre, príslušné premenné sa pamätajú v zozname zobrazených objektov, takže sa môžeme kedykoľvek medzi nimi rýchlo presúvať.

Zoznam zobrazených objektov

Dokumentácia

To, čo je však na makre XrayTool najzaujímavejšie, je spolupráca s „Software Development Kit (SDK)“. Pokiaľ si stiahneme a nainštalujeme túto dokumentáciu napr. zo servera ftp.linux.cz (žiaľ, je iba v angličtine), potom nám makro po stlačení tlačidla „SDK dokumentace (anglicky)“ dokáže zobraziť v nastavenom internetovom prehliadači informácie o príslušnej časti, pokiaľ sú k dispozícii (nie všetko sa v tejto dokumentácii nachádza). Nastavenie príslušných ciest (ako k inštalovanej dokumentácii, tak aj k internetovému prehliadaču) vykonáme cez tlačidlo „Nastavení“.

Nastavenie XrayTool

Okrem uvedených možností, môžeme pri programovaní použiť aj ďalšie dokumentácie, ktoré si môžeme stiahnuť z internetu. Okrem toho nám ako inšpirácia môžu poslúžiť aj iné makrá, kde nájdeme ukrytých nielen veľa dobrých myšlienok, ale aj praktické použitie niektorých metód.

Väzba na SDK

Na tomto mieste preto nesmieme zabudnúť na makrá od Andrewa Pitonyaka (www.pitonyak.org), ktoré sú naozaj na veľmi vysokej úrovni. Všetkým záujemcom odporúčam, aby si stiahli jeho dokumentáciu „Useful Macro Information For OpenOffice“, ktorá je viac než len malá programátorská príručka. Osobne som z tejto dokumentácie čerpal inšpiráciu pre on-line dopĺňanie nezalomiteľných medzier.

Ďalej nesmieme zabudnúť ani na základnú dokumentáciu k jazyku StarOffice Basic, ktorú na svojich stránkach docs.sun.com/app/docs/doc ponúka priamo firma SUN. Z osobných skúseností vám odporúčam stiahnuť si dokumentáciu pre StarOffice Basic od verzie 6 až po verziu 8. Prečo všetky tri? Preto, lebo počas vývoja OpenOffice.org už došlo k situácii, keď najprv platili veci, ktoré boli popísané v príručke pre „sedmičkovú“ verziu a potom sa vrátili k verzii „šestkovej“ (konkrétne sa jednalo o niektoré rozhrania pre dokumenty OpenOffice.org Calc).

Všetkým používateľom OpenOffice.org (t.j. nielen programátorom) odporúčam stránky wiki.services.openoffice.org/wiki/Documentation, kde nájdu podrobnú on-line dokumentáciu tohto produktu. Samozrejme, na svoje si prídu aj programátori, pretože časť „BASIC Guide“ je venovaná výhradne pre nich.

Týmto sme ukončili prvú veľkú časť seriálu o programovaní makier pre OpenOffice.org, v ktorej sme sa venovali predovšetkým modulu Writer. Nastal čas pre krátku dovolenku, aby si čitatelia mohli v pokoji stiahnuť a preštudovať odporučenú dokumentáciu a aby sme mohli načerpať nové inšpirácie pre pripravovanú druhú časť, ktorú budeme venovať ostatným modulom OpenOffice.org. Je pravda, že sme ani v rámci modulu Writer nespomenuli množstvo vecí (napr. makrá pre prácu s tabuľkami, makrá pre prácu so súbormi…), ale naozaj nie je možné uviesť všetko naraz.

Na úplný záver si však neodpustíme ešte jedno makro – a to makro, pomocou ktorého dokážeme spúšťať iné makro, ktorého názov mu odovzdáme ako parameter. Využitie tohto makra už ponecháme na láskavých čitateľov, ktorí si určite budú vedieť predstaviť napr. tabuľku, kde v jednej bunke zadajú názov a v druhej budú volať príslušné makro.

sub spusti_makro(nazov as string)
 dim document as object
 dim dispatcher as object

 document = ThisComponent.CurrentController.Frame
 dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

 dispatcher.executeDispatch(document, "vnd.sun.star.script:"+nazov+"?language=Basic&location=application", "", 0, Array())

end sub


Ako konkrétny príklad použitia si uvedieme volanie makra pre počítanie znakov:

sub volanie_ineho_makra
 spusti_makro("Vlastne_makra.Pocitanie_znakov.Pocitanie_znakov")
end sub

Internet
XrayTool – www.volny.cz/macrojtb/index.html

Software Development Kit (SDK) pre verziu OpenOffice.org 2.3.0 (OS Windows) – OOo-SDK_2.3_windows_install_en-US.exe

Dokumentácia Adrewa Pitonyaka – www.pitonyak.org/AndrewMacro.odt

Dokumentácia SUN StarOffice:
Basic Programmer's Guide StarOffice. 6.0 – 817-1826-10.pdf
StarOffice 7 Office Suite Basic Programmer's Guide – 817-1826.pdf
StarOffice 8 Programming Guide for BASIC – 819-0439.pdf

On-line dokumentácia OpenOffice.org – wiki.services.openoffice.org/wiki/Documentation
On-line dokumentácia OpenOffice.org Basic – wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide

PDF verzia šiestej časti seriálu o makrách v OpenOffice.org: makra_v_ooo_6.pdf
(MD5 súčet: E54BE4C31C860F7F6C02B2CBF97AFC4B)

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í.

Večerná „prestávka“ pre server VIP033 Oznamy
25. 09. 2026

Večerná „prestávka“ pre server VIP033

Neustále pracujeme na tom, aby vaše weby bežali hladko, rýchlo a bezpečne. Technológie idú míľovými krokmi vpred a my v Inet.sk s nimi dr...

Čítať viac
Novinky na Inet.sk (09 / 2026) Novinky
09. 09. 2026

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...

Čítať viac
Plánovaná údržba v datacentre (20.09.2026) Oznamy
07. 09. 2026

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...

Čítať viac
Aktualizujte ihneď svoj Wordpress - Kritická zraniteľnosť (CVE-2026-63030) Oznamy
31. 08. 2026

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...

Čítať viac

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.

Zistiť viac

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í.

Sme skutočný slovenský webhosting

Slovenská
firma

Nepatríme pod žiadnu nadnárodnú spoločnosť, sme malá rodinná firma.

Na nás sa môžete kedykoľvek spoľahnúť

Dlhoročné
skúsenosti

Na slovenskom trhu pôsobíme už viac ako 20 rokov, sme overená značka.

Naši prví zákazníci sú stále s nami

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ť

Maximálna
bezpečnosť

Chránime Vás pred útokmi i SPAMom. U nás sú Vaše dáta v bezpečí.

Prozákaznícka podpora

Ochotná
podpora

Zakladáme si na individuálnom prístupe, preto Vám vždy radi pomôžeme.

Kvalita a dobrá cena

Výborný pomer
cena / výkon

Ponúkame kvalitné a stabilné služby za rozumnú cenu bez skrytých poplatkov.

U nás sa Vám nič nestratí

Pravidelné
zálohovanie

Vaše dáta zálohujeme každý deň, dostupné sú aj zálohy z pred niekoľkých mesiacov.

Svižný Admin Panel nájdete len u nás

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

Správa
používateľov

Spravujte svoje projekty bez akýchkoľvek obáv s kolegami alebo externými partnermi.

Máme zľavy pre verných klientov

Vernostné
zľavy

Verní klienti u nás automaticky získavajú 15 % zľavu na každú ďalšiu objednávku.

My Vás nebudeme obmedzovať

Bez
obmedzení

Neobmedzujeme počet databáz, e-mailov, ftp a ani prenos dát.

Hosting pre WordPress

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.

Auto 100
Bystricoviny
eCall Slovakia
Filip Jančík
Frost
Merkury Broker
Mi:Su Design
Mesto Nitra
Pro Clienta
Schneider Lekáreň
Vego Marketing
Mesto Zlaté Moravce

Všetky ceny sú uvádzané bez DPH
© 2006 - 2026, Inet.sk, s. r. o., Všetky práva vyhradené

Na našej stránke používame "cookies". Vďaka nim sledujeme návštevnosť, prispôsobujeme reklamu a používateľské nastavenia, čo zlepšuje Váš zážitok z našej stránky. Súhlasíte s ich spracovaním?
Vlastné nastavenia cookies