Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

1. diel - Úvod do tvorby makier pre Microsoft Office

S makrami sa môžeme stretnúť v Microsoft Office. Možno ich vytvárať teda nielen pre Excel, ale aj pre Word a ďalšie aplikácie v tomto balíku. Ide o programy vo Visual Basicu, ktoré umožňujú zaznamenať a vykonávať nejakú postupnosť akcií.

Uvedomme si, že Visual Basic je rovnaký pre všetky aplikácie Office (ktoré sa líšia len v dostupných triedach a objektoch). A práve preto si v tejto lekcii skúsime naše prvé makrá vo Worde, hoci sa naďalej budeme zaoberať najmä makrami v Exceli.

Makro je možné použiť pre opakované činnosti pozostávajúce z viacerých krokov, ale v Exceli si možno vytvárať aj vlastné funkcie. Ponuka funkcií Excelu potom bude rozšírená o tie naše, ktoré si vytvoríme.

Karta Vývojár

Karta Vývojár nie je v predvolenom nastavení Worde ani Excelu zobrazená. Pridáme ju na pás kariet Súbor -> Možnosti -> Prispôsobiť pás kariet -> Vývojár.

Karta Vývojár v Microsoft Office Word - Makrá v Microsoft Office

Najprv si skontrolujme Zabezpečenie makier. To vykonáme na karte Centrum zabezpečenia, Nastavenie makier.

  • Zakázať všetky makrá s oznámením - Býva aktívny, v tomto prípade sú makrá zakázaná, ale pri zistení makra v súbore sa zobrazí upozornenie zabezpečenia. Ak chceme makrá používať, musíme ich povoliť. Túto voľbu odporúčam.
  • Voľby nižšie - Pri ľubovoľné z týchto volieb budú vami vytvorená makrá fungovať, ale obzvlášť pri voľbe Povoliť všetky makrá riskujete spustenie prípadných makrovírusov.
  • Zakázať všetky makrá bez oznámenia - Už existujúce makrá v súbore sú zakázané, nemôžu sa spustiť, teda nefungujú. Možno však tvoriť a spúšťať makrá nová. Túto voľbu neodporúčam.

Záznam makra uloží našu činnosť do makra. Je to teda jedna z možností, ako makro vytvoriť.

Nahrávame, spúšťame a upravujeme makro vo Worde

Zadanie: Vytvorte vo Worde makro formátujte. Používateľ vyberie text a spustí makro, makro nastaví font Arial, veľkosť textu na 14, tučne a kurzívou, ostatné vlastnosti textu nemeňte.

  • Dokument Wordu, v ktorom budeme makro tvoriť, si uložíme ako dokument Word s podporou makier. Do dokumentu vložíme aspoň vetu textu a časť vyberieme.
  • Vývojár -> záznam makra, názov makra je formátujte, uložiť makro v dokumente, s ktorým práve pracujeme. Makro tak bude dostupný práve a len v tomto dokumente. Pri voľbe Všetky dokumenty súbor Normal by bolo makro prístupné aj z ďalších súborov. Makro Priradiť na klávesnici nám umožní zadefinovať klávesovú skratku pre spustenie. Stlačíme OK.
  • Karta Domov a na nej zmeníme požadované.
  • Karta Vývojár -> zastaviť záznam a makro je nahrané.

Vyberieme si inú časť textu a zvolíme Karta Vývojár -> Makrá, formátujte a Spustiť, alebo možno použiť pre spustenie klávesovú skratku, ak sme ju priradili.

Karta Vývojár -> Makrá, formátujte a Upraviť nám potom zobrazí zdrojový kód nášho prvého makra v editore Visual Basic. (Nepliesť s jazykom Visual Basic .NET, poznámka redakcie).

Zdrojový kód makra, ktoré mi bolo vygenerované, je uvedený nižšie. A možno bude tiež prekvapenie, keď zistíte, že nefunguje presne podľa zadania. Skúste si ho niekoľkokrát spustiť a prísť na to, aká je skutočná funkčnosť :-) Už to máte?

Sub Formatuj()
'
' Formatuj Makro
'
'
    Selection.Font.Name = "Arial"
    Selection.Font.Size = 14
    Selection.Font.Bold = wdToggle
    Selection.Font.Italic = wdToggle
End Sub

Problém je s hodnotou wdToggle, ktorá tu funguje ako prepínač. Ak písmo nebolo tučné, tak ho stučnie, ale ak písmo tučné bolo, tak naopak tučnosť zruší (čo nechceme). Skúsme prísť na to, ako to opraviť.

Nahrajte v rovnakom súbore ešte jedno makro (Formatuj_pismo), kde nastavíme požadované cez dialógové okno písma. Ani toto makro nebude fungovať presne podľa zadania, pretože budú v zdrojovom kóde uvedené všetky vlastnosti fontu, ktoré na karte nájdeme. Nastaví sa teda aj podčiarknutie, jeho farba ..., čo sme nechceli.

Upravme teda, zmazaním nepotrebného, druhé makro tak, aby menilo len 4 požadované vlastnosti fontu. No a teraz, keď vidíte obidve makrá pod sebou, určite ste si všimli hodnoty True, ktorá už správne nastavuje tučnosť a kurzíva. V makre formátujte zmeňte hodnotu wdToggle na True a makro bude pracovať správne. Posledný možná hodnota False, ktorá naopak nastavuje, že písmo nebude tučné a obdobne u kurzívy.

Ako vidno, už pri takto jednoduchom zadaní sme si s jednoduchým záznamom makra nevystačili, ale museli sme zasahovať do zdrojového kódu. Vyriešme rovnaký úloha ešte pre Excel.

Formátovanie písma makrom v Exceli

Zošit Excelu, v ktorom budeme makro tvoriť, si uložíme ako Zošit programu Excel s podporou makier. Ak ešte nemáte zaznačené Kartu Vývojár, pridajte si ju.

Samostatne si overte, že nahrávanie makrá opäť nič nerieši. Ale pretože už máme úlohu hotový, tak prečo to nezkopírovat?

  • Karta Vývojár -> Makrá, do názvu makra napíšeme Format a zvolíme vytvoriť. Otvorí sa editor jazyka Visual Basic a v ňom bude hlavička nášho makra.
  • Do tela makra skopírujeme telo makrá formátujte, uložíme a overíme funkčnosť.

Jednoduché, že? Obdobne si samostatne vyskúšajte, že v Exceli funguje aj makro Wordu Formatuj_Pismo a zmeňte jeho názov na Format_Pisma.

Tiež sme mohli v novom súbore spustiť Visual Basic cez Kartu Vývojár, ďalej zvoliť Insert -> Module, nakopírovať sem obe makrá z Wordu a zmeniť im názvy.

Cez voľbu Makrá a voľbu možnosti, možno nastaviť makre klávesovú skratku pre spúšťanie.

A nabudúce, Klasické Hello a úvod do OOP pre makrá , už dáme prednosť programovania pred nahrávaním.


 

Všetky články v sekcii
Makrá v Microsoft Office
Preskočiť článok
(neodporúčame)
Klasické Hello a úvod do OOP pre makrá
Článok pre vás napísala Lenka
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autorka je absolventkou FI MU. Má dlouholetou pedagogickou praxi. Vyučovala maturitní obor IT, zejména Programování a Databázové systémy. Taktéž byla vývojová odborná redaktorka matematiky. Nyní se věnuje nestandardní i standardní výuce na soukromo.
Aktivity