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:

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:

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

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!

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:

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.