Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
KIV/ZD cvičení 9 Tomáš Potužák
2
Makra I Posloupnost příkazů a funkcí uložených v modulu MS Visual Basic Uložené makro možno kdykoliv spustit a vykonat Vhodné pro složitější akce, které chceme používat opakovaně Např. vytvoření grafu z dat, která mají vždy stejnou strukturu Dostupné z Zobrazení Makro nebo Vývojář Kód
3
Makra II Bezpečnost Makro je v podstatě program přes makra se mohou šířit viry Několik úrovní zabezpečení vhodné nastavit vyšší úroveň zabezpečení – Zakázat makra s oznámením Při otevření sešitu s makry je nutné je pak povolit Možnost ověřovat důvěryhodnost maker digitálním podpisem
4
Vytvoření makra I Možnosti vytvoření Záznam makra
Napsání makra ve Visual Basicu Nejjednodušší způsob vytvoření Zaznamená se posloupnost akcí, které ručně provede uživatel Označit výchozí oblast makra Spuštění záznamu – Zobrazení Makra Makra (šipka dolů) Záznam makra
5
Vytvoření makra II Zadat název marka, popř. klávesovou zkratku a popis
Lze uložit do aktuálního či nového sešitu nebo do Osobního sešitu maker (typicky do aktuálního sešitu) Po stisknutí Ok se nahrávají akce uživatele, dokud není nahrávání zastaveno (Zobrazení Makra Makra v Zastavit záznam) Použít relativní odkazy – určuje, zda se akce budou provádět relativně k počáteční buňce makra nebo absolutně
6
Vytvoření makra III Napsání makra ve Visual Basicu (VB)
Lze vytvořit nové makro nebo upravit existující Editor Visual Basicu je přístupný na Vývojář Kód Visual Basic nebo Zobrazení Makra Makra v Zobrazit makra Upravit Pro začátečníky je vhodné při úpravách vyjít ze zaznamenaných maker
7
Spuštění makra Klávesovou zkratkou [Ctrl] + [?] Výběrem makra
Pokud byla zadána Výběrem makra Zobrazení Makra Makra v Zobrazit makra Spustit Přiřazením makra k ovládacímu prvku Primárně k tlačítku (dialog pro výběr makra se objeví hned při vložení) Lze i k dalším prvkům (kliknout pravým tlačítkem na prvek Přiřadit makro…)
8
Psaní makra ve VB I Základní struktura makra Tělo makra
Sub NazevMakra() ' Komentář (klidně s diakritikou) <tělo makra - příkazy> End Sub Tělo makra Příkazy jako v běžném programovacím jazyku Příkazy se neukončují středníkem
9
Psaní makra ve VB II Vývojové prostředí VB v Excelu Doplňování kódu
Kód makra se zobrazuje/upravuje ve vývojovém prostředí Řada nástrojů pro usnadnění práce Doplňování kódu Podobně jako v jiných vývojových prostředích [Ctrl]+[mezerník] – seznam dostupných příkazů
10
Psaní makra ve VB III Vytvoření nového makra
Pokud nechceme upravovat existující (typicky nahrané záznamem nebo vytvořené dříve) Vývojář Kód Visual Basic Otevře se vývojové prostředí VB Tools Macros Zadat název Create Otevře se kód s hlavičkou makra pro přidání dalších příkazů (stejné jako když upravujeme existující makro)
11
Proměnné I Pro uložení dočasné hodnoty, se kterou budeme dále pracovat
Název Musí začínat písmenem Nesmí se shodovat s žádným z klíčových slov Excelu Obecná deklarace Napsat název a přiřazení (bez udání datového typu) – lze přiřadit cokoliv Např. cislo = 5
12
Proměnné II Deklarace s typem Kromě názvu proměnné určíme i typ
Zabere méně místa (jen místo nutné pro určený datový typ) Lze definovat i mimo konkrétní makro (v daném modulu) a používat ji tak různými makry („globální“ proměnná) Např. Dim cislo as Integer
13
Datové typy I Celočíselné Reálné číselné
Liší se zabraným místem a rozsahem Byte – (1B) Integer – (2B) Long – (4B) Reálné číselné Single – 4B Double – 8B Currency – měna (8B) Decimal – uložení v desítkové soustavě (14B)
14
Datové typy II Logická hodnota Datum Řetězce
Boolean – 2B (PRAVDA/NEPRAVDA – true/false) Datum Date – (8B) Řetězce String – velikost záleží na počtu znaků Objekt (např. buňka, písmo, …) Object – reference (4B)
15
Pole I Uložení více prvků stejného typu Jednorozměrné pole
Statické pole se zadaným počtem prvků Dim názevPole(počet) As typ Příklad statického pole Dim cisla(10) As Integer Dynamické pole (počet prvků (zatím) neudán) Dim cisla() As Integer
16
Pole II Vícerozměrné pole Statické pole se zadanými indexy
Dim trzby(2015 To 2017) As Currency Vícerozměrné pole Statické dvourozměrné pole Dim matice(3, 3) As Integer Dim matice(1 To 3, 1 To 7) As Byte Statické trojrozměrné pole Dim krychle(3, 3, 3) As Integer
17
Práce s proměnnými I Přiřazení
proměnná = hodnota – pro primitivní datové typy, např.: Dim cislo as Integer cislo = 10 Set proměnná = hodnota – pro objekty, např.: Dim bunky as Range Set bunky = Range("A1:A10")
18
Práce s proměnnými II Porovnání a logické operátory
Standardní operátory pro porovnání – <,<=, >, >=, =, <>, Like (např. "F" Like "[A-Z]") Logické operátory – And, Or, Not Aritmetické operátory +, -, *, ^ (umocnění), / (reálné dělení), \ (celočíselné dělení), Mod (zbytek po dělení) Spojovací operátory Zřetězení – +, & (např. 1+3=4, "1"+3=4, "1"&"3"="13", "1"+"3"="13", 1&3="13")
19
Řídící konstrukce – větvení I
Větvení If-Else Pokud je podmínka pravdivá, proveď jednu akci, jinak proveď jinou akci If podmínka Then příkazy když je splněná Else příkazy když není splněná End If
20
Řídící konstrukce – větvení II
Vlastnosti větvení If-Else Sekce Else není povinná Větví a podmínek může být více – použití ElseIf podmínka V každé větvi může být více příkazů Je možné vnořovat do sebe více konstrukcí If-Else a tvořit tak komplexní větvení s různorodými podmínkami
21
Řídící konstrukce – větvení III
Větvení Select Case Vhodné v případě, že podle hodnot jedné proměnné je více různých větví Select Case proměnná Case podmínka1 příkazy1 Case podmínka2 příkazy2 Case Else příkazy3 End Select
22
Řídící konstrukce – cykly I
Opakování příkazů Podle splnění podmínky nebo známý počet opakování Cyklus For Opakuje se zadaný počet opakování For i = 1 To 10 příkazy, co se opakují Next i
23
Řídící konstrukce – cykly II
Cyklus For Each Opakuje se pro všechny prvky pole/seznamu Pro pole nesmí být udán typ řídící proměnné (prvek), pro seznam udán být může For Each prvek In prvky příkazy, co se opakují Next prvek
24
Řídící konstrukce – cykly III
Cyklus Do Until Opakuje se, dokud není podmínka splněna (tj. v okamžiku, kdy podmínka je pravdivá, cyklus končí) Cyklus nemusí proběhnout ani jednou Do Until podmínka příkazy, co se opakují Loop
25
Řídící konstrukce – cykly IV
Cyklus While Opakuje se, zatímco je podmínka splněna (tj. v okamžiku, kdy podmínka je nepravdivá, cyklus končí) Cyklus nemusí proběhnout ani jednou While podmínka příkazy, co se opakují Wend
26
Řídící konstrukce – objekty
Konstrukce With Pro nastavení více vlastností jednoho objektu najednou With objekt .vlastnost1 = hodnota1 .vlastnost2 = hodnota2 End With
27
Vstupní dialog Okno se vstupem Nejjednodušší varianta
Mnoho různých parametrů Nejjednodušší varianta Application.InputBox("Datum:") Více (ne všechny) nastavených parametrů Nutno zadat i formální názvy parametrů Application.InputBox(prompt := "Zadej řetězec:", Type := 2)
28
Informační dialog Okno s informací a jedním či více tlačítky
Oznámení, nebo otázka Nejjednodušší varianta MsgBox("Úloha dokončena.") Obecná varianta MsgBox(zpráva, tlačítka, název) vybrano = MsgBox("Jste si jistý?", VbYesNo, "Otázka") vybrano obsahuje VbNo nebo VbYes
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.