Příklady: Obsah

Úprava maker – zápis do sešitu, výstup na obrazovku

Sekretářka společnosti „Naše zahrada“ potřebuje upravit makra vytvořená pomocí záznamu tak, aby vyhovovala jejím požadavkům. Pro úpravy využije Editor jazyka Basic a jeho vybrané příkazy pro zobrazování oken, práci s proměnnými a rozhodování v průběhu chodu makra.

Zadání:

Otevřete sešit UpravaMakraZapis.ods. V dokumentu se nachází již vytvořené makro Výpočet, které po spuštění zkopíruje údaje z tabulky na listu Nábytek, vloží je do tabulky na listu Výpočet a nakonec v této tabulce vypočítá součet hodnot. Makro upravte následujícím způsobem (pro úpravu makra využijte prostředí Editoru jazyka LibreOffice Basic a jeho vybrané příkazy):

  1. Změňte makro tak, aby na konci vložilo do tabulky vzorce pro výpočet maxima (místo vzorců pro součet).

  2. Na konec makra přidejte příkaz, který vloží na listu Výpočty do buňky C20 text Maximum:.

  3. Na konci makro zobrazí dialogové okno s textem Výpočet byl proveden.

  4. Upravené makro vyzkoušejte.

  5. Sešit uložte a zavřete.

Řešení:

Otevřete soubor dle zadání například dvojitým kliknutím na něj v Průzkumníkovi nebo zkratkou Ctrl+O v programu LibreOffice Calc.

  1. Nejprve si makro spusťte, abyste si vyzkoušeli, jak funguje Nástroje / Makra / Spustit makro... v aktuálním souboru vyberte Standard / Moduly / Module1 a Vypocet. Následně si zobrazte zdrojový kód makra Nástroje / Makra / Správce maker / LibreOffice Basic... a opět najděte makro v aktuálním souboru vyberte Standard / Moduly / Module1 a Vypocet. Nakonec stiskněte tlačítko Upravit. Po zobrazení editora jazyka LibreOffice Basic se makru přesuňte na jeho konec a vyměňte dvojí výskyt funkce SUM za funkci MAX (pouze přepište text).

  2. Zkopírujte dvě poslední části kódu od předposlední poznámky rem ----- až po řádek před end sub a tento text vložte před řádek end sub. Následně upravte v novém textu hodnoty argXX tak, že XX bude číslo o jednu větší než poslední nejvyšší použitý argument. Hodnoty argumentů se v tomto makru nemohou opakovat. V první části nového kódu, která určuje s jako buňkou budeme pracovat (ToPoint), změníme adresu buňky na C20. Ve druhé části kódu (StringName) upravíme obsah cílové buňky, ta bude nyní zobrazovat text Maximum:.

  3. Před řádek s příkazem end sub vložíme ještě příkaz pro zobrazení oznámení v dialogovém okně: msgbox("Výpočet byl proveden").

  4. Provedené změny uložíme (Ctrl+S) a okno s editorem jazyka LibreOffice Basic můžeme zavřít. Makro znova vyzkoušíme. Zkontrolujte, jestli makro provádí to, co jsme po něm požadovali.

  5. Soubor uložte (Ctrl+S) a zavřete (Ctrl+W).