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