Maturitní otázka č. 8

8. Makra

1. Co jsou to makra a kde se používají

Makro je pojmenovaná sekvence příkazů, akcí nebo stisků kláves, která slouží k automatizaci často se opakujících a rutinních úloh. Namísto toho, aby uživatel prováděl desítky kliknutí manuálně, spustí makro, které celý proces vykoná za zlomek sekundy automaticky.

2. Rozdíl mezi makrem s parametry a bez parametrů

3. Jazyk pro makra v MS Office

V prostředí Microsoft Office se makra tvoří a upravují v jazyce VBA (Visual Basic for Applications). Lze je buď napsat ručně od nuly, nebo použít "Záznamník maker", který sleduje klikání uživatele a kód ve VBA vygeneruje sám na pozadí.

4. Příklad makra v Excelu (Obarvení čísel a textu)

Zadání: Po stisku Ctrl+Q označit záporná čísla žlutě a slovo "ahoj" červeně. Níže je ukázka zdrojového kódu VBA, který toto řeší v rámci vymezeného limitu buněk:

Sub ObarviData()
' Tato procedura by byla v možnostech maker přiřazena zkratce Ctrl+Q
    Dim Radek As Long, Sloupec As Integer
    Dim Bunka As Range

    ' Optimalizace rychlosti: vypnutí překreslování obrazovky během běhu makra
    Application.ScreenUpdating = False

    ' Projití maximálního požadovaného rozsahu (65536 řádků, 256 sloupců)
    ' Upozornění: Procházet buňku po buňce v takovém rozsahu je výpočetně náročné, 
    ' v praxi by se využilo objektu UsedRange. Pro splnění zadání cyklem:
    For Radek = 1 To 65536
        For Sloupec = 1 To 256
            Set Bunka = ActiveSheet.Cells(Radek, Sloupec)

            ' Kontrola záporného čísla
            If IsNumeric(Bunka.Value) And Bunka.Value < 0 Then
                Bunka.Interior.Color = vbYellow
            ' Kontrola slova "ahoj" (přesný text)
            ElseIf LCase(Bunka.Value) = "ahoj" Then
                Bunka.Interior.Color = vbRed
            End If
        Next Sloupec
    Next Radek

    Application.ScreenUpdating = True
End Sub

5. Rizika maker a výchozí nastavení

Makra v MS Office mají obrovskou moc. VBA kód dokáže interagovat se samotným operačním systémem Windows – umí otevírat, mazat nebo přepisovat soubory na pevném disku, umí přistupovat k registrům a dokonce umí stahovat soubory z internetu.

Z tohoto důvodu Microsoft ve výchozím nastavení všechna makra blokuje. Pokud otevřete soubor s makrem, objeví se nahoře žlutý pruh upozorňující na bezpečnostní riziko, a uživatel musí explicitně kliknout na "Povolit obsah", čímž dává vědomý souhlas ke spuštění kódu.

Dokument 28 – Aktivní webovky, redakční systém

Aktivní webovky, redakční systém