hlavicka.png, 18 kB

Calc - Seriál o objektech v makrech

01. Úvod

Především bych chtěl zdůraznit, že ač jsem chtěl veškeré úvodní slova přeskočit, tak se jim přesto nevyhnu. Ale nebude to klasický úvod, takových je všude plno.

Takže přeskočím práci s IDE Basicu, funkce a příkazy jazyka StarBasic. Jednak je to podobné jako v jiných implementacích Basicu, jednak je to pro základní práci docela dobře popsáno v nápovědě OOo. A to česky. V libovolném okně OOo spusťte nápovědu a v levém horním listboxu zvolte 'OpenOffice.org Basic'. Doporučuji opravdu přečíst vše co nápověda nabízí, případně vytisknout. Dle mého názoru je nápověda kvalitně zpracovaná. Dosti užitečný v tomto směru může být i seriál ve slovenštině 'Makrá v OpenOffice.org' od Júliusa Pastierika.

V tomto seriálu bych se chtěl věnovat především objektům Calcu z OOo. Abychom mohli použivat makra pro ovládání libovolné aplikace, není dokonalá znalost skriptovacího jazyka tak důležitá, pokud neznáme objektový model dané aplikace. Vše co v aplikaci používáme pro svou práci (buňky, listy, sešity, obrázky, tlačítka a mnoho dalších) jsou objekty, které se dají ovládat pomoci skriptovacího jazyka. A teď to důležité. Objekty nejsou součástí StarBasicu, ani jiného skriptovacího jazyka, ale jsou součásti objektového modelu OpenOffice.org! Z toho plyne, že popis objektového modelu nenalezneme v popisu žádného programovacího jazyka, ale je třeba ho hledat v SDK OpenOffice.org.
Objekty lze ovládat z interních skriptovacích jazyků, nebo z externích. Interním skriptovacím jazykem v OpenOffice.org je StarBasic. Externím jazykem může být libovolný programovací jazyk, který má přístup ke COM. Může to být třeba VB, VBA nebo VBS ve Windows, ale i jiné. Někdy se používá název Automatizace pro ovládání nějaké aplikace z externího programovacího prostředí.
StarBasic(SB) jako interní skriptovací jazyk zavádí několik zkratkových příkazů, metod a vlastností pro práci s objekty OpenOfice.org. Tyto pak mohou být popsány v nápovědě k SB, ale nebudou samozřejmě dostupné z jiných programovacích jazyků, protože nejsou součásti objektového modelu OOo.
Dále si je třeba uvědomit, že ač jsou si StarBasic z OOo a Visual Basic for Application z MS Office velmi podobné, objektové modely těchto kancelářských balíků jsou naprosto odlišné. Jedním důvodem je i to, že jednotlivé části OOo(Writer, Calc atd.) nejsou samostatnými aplikacemi, na rozdíl od MS Office, kdy Word, Excel atd. jsou naprosto samostatné aplikace.

Již přes půl roku čekám na vydání knihy o programování OOo v českém jazyce, ale stále ještě nevyšla, tak jsem si začal sám pro sebe psát manuálek a rúzné poznámky, ze kterých budu vycházet. Musím vás upozornit, že ač jsem celkem dobře obeznámen s Excelem, jeho Objektovým modelem a VBA, s Calcem v podstatě začínám. Takže se i v průběhu psaní tohoto seriálu vlastně budu taky učit, nesmíte proto brát některé mé obraty jako zaklínadla. Vyznat se v objektovém modelu OpenOffice.org bylo pro mne dosti obtížné(a vlastně je i dosud). V tomto seriálku bych se chtěl podělit o své zkušenosti. Hodně věcí jsem si pro svou potřebu zjednodušoval. Seriál tedy není o přesném zdokumentování objektového modelu OOo, ale o tom jak tento model vidím já, abych se v něm lépe orientoval. Seriálek by vám měl pomoct v základní orientaci v objektovém modelu OOo ale, pro další svůj vývoj v něm nehledejte žádná dogmata.

Pro ty z nás, kteří přecházime z Excelu mohou být užitečné následující stránky a dokumenty pojednávající o převodu některých technik z VBA do StarBasicu:
republika.pl/vbadam - pl
VbaStarBasicXref.sxw - en

Povinnou četbou, by měly být následující odkazy:
Andrew Pitonyak - klasika v oboru programování OOo
www.pitonyak.org/ - en

tutorial.pdf - en

StarBasic od Sunu - en

SDK s popisem objektového modelu naleznete na Download Central - en

Pomůcka pro zjišťování vlastností, metod a interface objektů OOo
xraytoolcz.html -cz

A to je na úvod vše, snad ještě omluva všem milovníkům českého jazyka. Mám jej také rád, ale nejsem žádný spisovatel.
Příště bych se chtěl podívat na nejvyšší objekt v hierarchii objektového modelu OOo, tím je pracovní plocha OpenOffice.org - StarDesktop.


StarDesktop >>

vgraf2@cbox.cz

23.09.2006

stránky

hlavní stránka

Calc