POZOR: Uživatelé LibreOffice si musí tuto funkci nejprve povolit ve volbách (stejně jako jste nastavovali povolení maker). Nástroje | Volby | LibreOffice | Obecné pod nastavením Roku (dvě číslice) je volba „Enable experimental (unstable) features“. Po této volbě již bude záznamník funkční.
Nejprve pár slov
Nahrání makra sice není čisté programování (jde o nahrání sledu příkazů, které jsou po spuštění zopakovány), ale i tak mohou ušetřit spoustu práce, a pokud máte úkony, které často opakujete, je toto velmi praktická volba.
Záznamník maker v OpenOffice.org má samozřejmě určitá omezení:
- Například nahrané makro funguje pouze v jednom dokumentu (nelze například nahrát sled příkazů v jednom dokumentu, zkopírovat hodnoty, otevřít další dokument a hodnoty vložit), ale je možné využít postup v bodě č. 2.
- Je lepší nepoužívat nahrávání na sled delších příkazů, ale raději příkazy rozdělit na více maker, která lze později spojit (vyvoláním dalšího makra, na konci příkazů).
- Nahraná makra jsou po spuštění náročnější na provádění příkazů než klasicky naprogramovaná makra – při klasickém programování lze totiž všechny příkazy provést jednodušeji a efektivněji.
- Musíte mít nainstalovaný programovací jazyk JAVA (JRE), protože jinak se některé příkazy nebudou provádět korektně.
Pro většinového uživatele ale přináší i výhody:
- Není třeba se učit programování.
- Nahrání trvá chvilku.
- Opakované úkony lze touto cestou výrazně zjednodušit a zrychlit.
Nahrané makro můžete dále upravit – lze například vložit podmínku, kdy má být makro spuštěno apod. Nedoporučuji příliš zasahovat do základu makra, je možné, že si pak příkazy rozhodíte a neprovede se vše, co jste požadovali. Až budete znát základy programování, ukážeme si, jak je možné takové makro(a) upravit a zrychlit jejich průběh. Také je nutné dát si při úpravě makra pozor na deklaraci proměnných – tomu se ale bude věnovat samostatná kapitola.
Nahrávač automaticky a vždy deklaruje proměnou document a dispatcher jako objekty. Vezme aktuální dokument a přiřadí k němu dispatcher (něco jako „výměník“). Změny jsou provedeny ve výměníku a poté příkazem vloženy do dokumentu.
Nahrávání makra
K nahrání se dostanete přes volby Nástroje | Makra | Zaznamenat makro. Po této volbě se zobrazí v levém horním rohu malé dialogové okno.
Detail dialogu
Od této chvíle se vše, co provedete, nahrává. Nyní si můžete zaznamenat sled příkazů, které chcete, aby poté byly automatizovány. Pokud se v příkazech spletete a stisknete jiný příkaz, je lepší záznam ukončit a zopakovat. Samozřejmě je možné se vrátit krokem zpět, ale nikdy dopředu, protože nevíte, zda bude zápis makra v pořádku. Když máte hotovo, zvolte zastavit nahrávání.
Zobrazí se dialog na uložení do knihovny maker:
Pokud chcete, aby se makro spouštělo pouze v jediném dokumentu, zvolíte jeho umístění do knihovny se jménem, pod kterým je dokument uložen (v tomto případě „Bez Názvu 1“). Tam si musíte vytvořit nový modul (standardně pojmenovaný Module a číslo modulu – můžete název ponechat, nebo si zadat svůj. Pozor, nepoužívejte interpunkci a místo mezer používejte podtržítko – například moje_makro).
Naopak, pokud má makro fungovat ve všech dokumentech, zvolte knihovnu „Moje makra“ a v ní modul „Standard“. Když máte vybráno, kam uložit, zvolte název makra (tady pozor: do názvu makra se automaticky přednastavují názvy maker, které jsou již uloženy).
Příklad nahraného makra na tisk:
sub tisk rem-------------------------------------------------------- rem define variables dim document as object dim dispatcher as object rem-------------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(„com.sun.star.frame.DispatchHelper“) rem-------------------------------------------------------- dispatcher.executeDispatch(document, ".uno:Print“, "", 0, Array ()) end sub
Toto makro otevře tiskový dialog tak, jak jej znáte po stisknutí [CTRL+p].
Všechna nahraná makra mají podobnou strukturu. Nejprve se definují proměnné (document a dispatcher), následuje přiřazení proměnných k aktuálnímu dokumentu (document) a vytvoření „vedlejšího“ pomocného dokumentu (dispatcher). Následuje samotný příkaz, kterým pomocí dispatcher u ovládáte dokument jako takový. Řádky začínající na REM jsou určeny pro vysvětlivky (viz rem define variables – rem definování proměnných).
TIP: Pokud budete chtít spojit více nahraných maker do jednoho, stačí před end sub napsat název makra, které chcete vyvolat. Platí, že pokud je makro ve stejném modulu, stačí jeho název. Pokud se ale makro nachází v jiném modulu, musíte určit i cestu. Například mám makro na vymazání určitých hodnot a v jiném modulu makro na tisk. Stačí tedy před end sub zapsat module2.tisk (pokud je makro tisk uloženo v modulu2). Jinak by stačil zápis tisk.
Spouštění makra
Makra mají mnoho možností, jak je spustit. Od událostí dokumentu (např. po tisku, uložení…) přes vlastní ikonku v nástrojové liště, vlastní volbu v nabídkách až po klávesové zkratky a formulářové prvky. Základní cesta je přes Nástroje | Makra | Spustit makro:
Tato cesta je zároveň nejméně pohodlná.
Vyjma formulářových prvků se makra přiřazují přes nabídku Nástroje | Přizpůsobit:
Přiřazení maker do systému OpenOffice.org
Na jednotlivých záložkách (Nabídka, Klávesnice, Panely nástrojů a Události) můžete přiřadit makro k volbě, která nejvíce odpovídá vašim požadavkům. Takto si přiřaďte makra, která používáte opravdu často.
Přiřazení makra k jednotlivým funkcím
Na kartě Klávesnice pozor na klávesové zkratky dané systémem, jejich přepsání může komplikovat práci. Je lepší vybírat neobsazené zkratky, nebo přepsat ty, o kterých jste si stoprocentně jisti, že je nevyužijete.
Na kartě Události spojujete makro s určitou událostí. Máte možnost si určit, zda se má makro spouštět vždy pro vybraný dokument, nebo pro všechny dokumenty zpracovávané v OpenOffice.org. To je volba Uložit do v levé spodní části dialogu.
Přiřazení maker k formulářovým prvkům si podrobně ukážeme v díle o dialogových oknech.
Základní přizpůsobení systému máte hotové. Jak makro nahrát, uložit a spustit, již také víte. V další části se budeme věnovat základům programovacího jazyka StarOffice Basic. Základy se mohou zdát nezáživné, ale je nutné jimi projít. Horní patro budovy také nepostavíte bez přízemí. Jak ale budeme v naší stavbě stoupat výše, dostaneme se již k přímému programování jednoduchých maker.