Pomoc pro ztracené programátory - vytvoření jednoduchého 
  makra 
Přehled informací

Vytvoření samostatného projektu
Samostatný projekt vytvoříme v prostředí AutoCADu následujícím postupem:
  - z nabídek AutoCADu zvolte Nástroje,
 
  - vyberte položku Makro, otevře se další nabídka,
 
  - z otevřené nabídky vyberte položku Správce VBA,
 
  - v otevřeném okně zprávce zmáčkněte tlačítko Nový. Správce 
    VBA vytvoří nový projekt se jménem Global2,
 
  - nakonec zmáčkněte tlačítko Editor Visual Basic, otevře se 
    vývojové prostředí Visual Basic pro Aplikace.
 

Aktivace nového projektu v prostředí VBA IDE
V prostředí IDE VBA aktivujte nový projekt. Projekt aktivujete pomocí okna 
  Projekt - ACADProjekt dvojklikem nad jménem nového projektu (Global2). Situaci 
  znázorňuje následující obrázek:

Kód celého makra bude napsán ve standartním modulu. 

Vytvoření nového modulu
Veřejné proměnné deklarujeme v tzv. modulu. Modul vytvoříme následujícím postupem:
  - v prostředí IDE VBA umístěte kurzor do okna Projekt,
 
  - zmáčkněte pravé tlačítko myši, zobrazí se vám nabídka,
 
  - vyberte položku Vložit,
 
  - z nabídky vyberte Modul (viz obrázek).
 

  - v okně Projektu se vytvoří a zobrazí nový modul.
 

Vytvoření procedury zjistiJmenoEntity()
Všechny procedury budeme zadávat pomocí dialogového boxu Přidat proceduru.
Postup přidání nové 
  procedury pomocí dialogového boxu Přidat proceduru
  - ve VBA IDE otevřete nabídku Vložit,
 
  - vyberte položky Procedura...(viz obrazek),
 

  -  otevře se dialogový box Přidat proceduru,
 
  -  v dialogovém boxu zadejte: 
    
      -  Název (název procedury): - zjistiJmenoEntity (v názvu můžou 
        být i háčky a čárky, ale nedoporučuje se),
 
      - Typ (typ procedury): - procedura, 
        
 
      - Obor (obor platnosti procedury): - veřejný (procedura bude viditelná 
        ze všech částí projektu),
 
    
   
  - dokončete vytvoření procedury soustredneObjekty() zmáčknutím tlačítka 
    OK,
 
  -  otevře se okno kódu s hlavičkou procedury, do které dopíšeme kód.
 

Vysvětlení kódu procedury zjistiJmenoEntity()
Při psaní kódu procedury si musíme uvědomit, že přerušení vyvolané tlačítkem 
  ESC je Visual Basicem považováno za chybu a proto k němu jako k chybě musíme 
  také přistupovat! 
  - v proceduře nejprve deklarujeme dvě lokální proměnné: 
    
      - vracenyObj - proměnná uchovávající vrácený objekt z výkresu,
 
      - bodVyberu - místo, v kterém jsme vybrali objekt ve výkresu (v 
        našem případě ho nevyužijeme),
 
    
   
  - po deklaraci proměnných programu sdělíme, aby v 
    případě výskytu chyby pokračoval následujícím příkazem. To nám umožní 
    při výskytu chyby, chybu zpracovat,
 
  - abychom se v programu mohli jednoduchým způsobem vracet na začátek procedury 
    definujeme si návěští Opakuj,
 
  - entitu ve výkresu můžeme vybrat pomocí metody GetEntity 
    objektu Utility, 
    
      - pokud při výběru nastane chyba (uživatel zmáčkne tlačítko ESC) je vygenerována 
        chyba a program pokračuje následujícím příkazem. Příkaz if chybu 
        odchytí, vymaže kontajner uchovávající chyby, zobrazí zprávu a ukončí 
        činnost procedury,
 
      - není-li vygenerována chyba (uživatel vybral entitu) je zobrazeno 
        dialogové okno se zprávou jaká entita byla vybrána,
 
    
   
  - program přejde na návěští Opakuj 
    a uživatel je dotázán na další entitu.
 
Public Sub zjistiJmenoEntity()
Dim vracenyObj As Object
Dim bodVyberu As Variant
  
  On Error Resume Next
        ' při výskytu chyby pokračuj na dalším příkazu
Opakuj:
  ThisDrawing.Utility.GetEntity vracenyObj, bodVyberu, _
    "Vyber entitu ve výkresu: "
  If Err <> 0 Then
    Err.Clear
    MsgBox "Ukončil jste výběr, Nashledanou."
    Exit Sub
  Else
    MsgBox "Entita je typu: " & vracenyObj.EntityName
  End If
  GoTo Opakuj
End Sub

Zdrojové kódy
Zdrojové kódy je možné stáhnout zde:

Spuštění procedury (makra) z prostředí VBA IDE
Než spustíte makro nakreslete si v AutoCADu do výkresu několik entit nebo otevřete 
  soubor Entity.dwg. 
  Poté aktivujte opět okno editoru Visual Basic pro Aplikace. 
V IDE VBA otevřete Oknem kódu a umístěte kurzor do procedury zjistiJmenoEntity(). 
 Makro můžete spustit následujícími způsoby:
  - pomocí tlačítka 
 
    Spustit proceduru z nástrojové lišty Standardní, 
  - vybráním položky Spustit proceduru z nabídky Spustit,
 
  - zmáčknutím klávesy F5.
 
Po spuštění budete dotázáni na vybrání entity. Myší vyberte z výkresu entitu, 
  zobrazí se okno s vypsaným typem entity. Makro ukončíte stiskem klávesy ESC.
Pokud se potřebujete dozvědět jak spustit makro z prostředí AutoCADu prostudujte 
  si lekci Spuštění 
  makra.
