Informační a komunikační technologie pro učební obory ME4 a SE4 Makra I. část Praha 2012 2013 Zpracoval: Ing. Pavel branšovský pro potřebu VOŠ a SŠSE Volně použito podkladů z internetu a kolegů ze školy 1
Obsah: 1. Coje to makro 2. Makro úvod 3. První program Odkazy na makra: http://makra.webz.cz/ http://www.openoffice.cz/doplnky/mala makra uvod do programovani http://www.pitonyak.org/andrewmacro.pdf http://www.multiweb.cz/excelmakra/hlavni%20strana.htm 2
1. Co je to Makro? Primárně slouží k opakovanému provádění posloupnosti několika operací. Například pokud často zpracovávám stejný druh dat stejným způsobem, lze toto provést kliknutím na jedno tlačítko, popř. jednou klávesovou zkratkou. Při využití dalších možností jazyka VBA lze provádět i složitější operace odesílání e mailu na adresy z listu, provádět dynamické animace, vytvářet hry,... Jsou to tedy svým způsobem programové rutiny specifických příkazů které provádějí námi požadované funkce či činnosti. Programují se buď ve Visual Basicu (VB) s tím, že ve zjednodušené verzi je VB v každé aplikaci Office ve variatě Visual Basic for Aplication (VBA). Tato varianta však funguje pouze s danou aplikací Office. VBA pracuje se všeni aplikacemi my se pro názornost budeme zabývat pouze variantou pro EXCEL kde to lze ukázat poměrně názorně. 3
Pojďme ale na to makro. Budu tvorbu popisovat v Excelu 2003. V Excelu 2007 je nutné zobrazit kartu Vývojář, což lze přes tlačítko Office > "Možnosti aplikace Excel" a v záložce oblíbené zaškrtneme "zobrazit na pásu kartu vývojář". Pak už je vše velmi podobné. Přes Nástroje > Makro > Záznam nového makra. Zobrazí se následující dialogové okno: 4
Název makra zvolte dle uvážení; lze později změnit. Klávesová zkratka není povinná nedoporučuji používat běžné zkratky. Uložit makro do: Tento sešit makro bude použitelné pouze v tomto sešitě. Nový sešit nikdy jsem nepoužil. Osobní sešit maker makro bude použitelné při každém otevření daným uživatelem. Ukládá se do excelovské šablony personal.xls. Popis dle uvážení; později lze změnit. Po odkliknutí OK se všechny provedené operace nahrávají do Makra. Pojďme provést následující operace: vstoupíme do buňky B2 změníme formát na tučné napíšeme zde text "ahoj světe" 5
Makro zastavíme pomocí zobrazené ikony Nástroje > Makro > Zastavit záznam. nebo přes A je to. Pokud přepneme na jiný list a přes Nástroje > Makro > Makra spustíme Makro1, napíše se do buňky B2 tučně "Ahoj světe". Pomocí Nástroje > Makro > Editor jazyka Visual Basic nebo klávesovou zkratkou Alt+F11 si lze makro prohlédnout. Otevře se editor Visual Basic, kde jsou všechna zaznamenaná makra. 6
Pokud rozklikneme ve VBAProject > Modules > Module1, zobrazí se nám zápis zaznamenaného makra. Zde lze kód upravovat a tím měnit funkci makra. Například: pokud smažeme řádek Range("B2").Select, napíše se text po spuštění makra do právě aktivní buňky změníme li tento řádek na Range("B2:C4").Select, napíše se text opět pouze do buňky B2, ale "ztuční" celá oblast B2:C4 pokud bychom chtěli zapsat text do více buněk, šlo by použít: Range("B2:C4").Select Selection.Font.Bold = True Selection.FormulaR1C1 = "ahoj světe" No a takto lze postupně pronikat do taje jazyka VBA. Nahrát makro s požadovanou operací, podívat se na kód, začít v něm upravovat a zkoušet, co to udělá. Pro složitější věci je potřeba hledat na internetu, zkopírovat si nalezený kód a upravit si ho pro své potřeby. V příští lekci se podíváme, jakým způsobem lze makra spouštět. 7
Makro úvod Excel VBA makra úvod do programování Jsou mimořádně flexibilní a dá se s nimi udělal téměř cokoli. Záznamník maker vede k rychlému vývoji aplikace. Můžeme vytvářet své vlastní funkce, které se objeví v Průvodci funkcemi, pracovat s databázemi, upravit prostředí Excelu, využívat dialogová okna i vlastní formuláře, efektivně zpracovávat datové sestavy, simulovat technologické procesy, vytvářet úplné ekonomické aplikace, pružné informační systémy, hry aj. Nevěříte? nahlédněte do ukázkových aplikací, jsou volně ke stažení a kód VBA je plně přístupný. Co jsou vlastně makra? Makra jsou napsané části programu (příkazy), které ulehčují práci s programem. Dobře naprogramovaným makrem si můžete zrychlit a usnadnit kolikrát ubíjející práci s dokumenty. Pokud jste si již stáhli z těchto stránek některé z rozšíření a alespoň jednou jste je použili, pak již máte první zkušenost s makry za sebou. Wikipedia Makro (software): V kancelářských balících (Microsoft Office, OpenOffice.org a podobně) označuje makro posloupnost akcí, funkcí nebo příkazů, které usnadňují určitou činnost. Používají se většinou jako posloupnost kroků při výpočtech, úpravách textu a podobně. 8
S makry se setkáte nejen v OpenOffice.org, ale i v jiných programech. To však neznamená, že budou fungovat všude. Makra OpenOffice.org jsou psána v programovacím jazyce StarOffice Basic makra napsaná v tomto jazyce budou spustitelná ve všech programech, které vychází ze stejného kódu jako OpenOffice.org, tedy například LibreOffice a dalších odnoží. Jednoduché makro Pro stále se opakující činnosti můžeme nahrát makro (pokud jej nechceme programovat). Z nástrojové lišty Nástroje Makro Záznam nového makra.... 9
Zadáme název makra: a již můžeme psát či provádět často opakované pohyby. Až bude vše hotovo tak stačí makro stopnout tlačítkem a máme makro hotovo. 10
Pokud jej chceme spustit stačí přes menu Nástroje Makro Makra... vybereme naše makro podle názvu. Toto by bylo v krátkosti o makrech a jejich záznamech, osobně moc nepoužívám, více možnosti nabízí vlastní programování maker, na která se podíváme dále: Složitější makro využijeme Visual Basic for Applications 11
Spustíme nejprve Visual Basic. V menu Nástroje vybereme makro a poté Editor jazyka Visual Basic Otevře se nám vlastní okno ve Visual Basicu. Doporučuji si ještě zobrazit okna Project 12
Explorer a Properties Window a obdržíme již použitelnou obrazovku: Tak a máme přehledně uspořádanou plochu se všemi potřebnými drobnostmi. No a můžeme se vrhnout do našeho prvního programu. 13
První program Z menu vybereme Insert Module a můžeme napsat náš První program. Pro jednoduchost si vybereme například součet jde jen o ukázku a kontrolu a to je nejlépe provádět na něčem jednoduchém. Function secti(x, y) secti = x + y End Function 14
Pro kontrolu námi vytvořených programů existuje mnoho prostředků, např.: Object Browser, který nám umožní i vložit popisek námi vytvořené funkce. Ať víme, co jsme si to naprogramovali. Ke každé funkci si můžeme uložit komentář. V Object Browser pravým tlačítkem na funkci vybereme Properties... 15
Zde zadáme náš popis. Po stisknutí OK se naše poznámka uloží. 16
A teď již můžeme v Excelu naší první funkci použít. Vybereme Vlož Funkce, vybereme vlastní funkce. 17
Zde již je stačí kliknout na název námi vytvořené funkce a hotovo A tohle je výsledek. Tak a tímto bychom měli svou první naprogramovanou funkci. Je pravda, že zadáním =10+20 máme součtovou funkci hned a bez programování, ale cílem bylo ukázat jak naprogramovat funkci na jednoduchém příkladu. Složitější příklady budou následovat. 18