Úvod do kurzu
VBA je zjednodušenou formou programovacieho jazyka Visual Basic, vyvinutého spoločnosťou Microsoft. Je súčasťou všetkých v súčasnosti používaných verzií balíka Microsoft Office. VBA je úzko zviazaný s pojmom, ktorý je medzi skúsenejšími používateľmi (predovšetkým) Excelu známy – týmto pojmom je makro. Klasické zaznamenávané makrá sú však len malou časťou skutočných možností jazyka VBA, ktorý dokáže pracovať s OLE automatizáciou (jedna z najkrajších technológií v operačných systémoch Windows), nízkoúrovňovými funkciami Windows API a mnoho iného. S použitím vlastného kódu vo VBA dokáže vykonať to, čo nám samotné rozhranie kalkulátora Excel neposkytuje. Ako príklad je možné uviesť opakovania nejakej činnosti, časovania udalostí a podobne. Z tohto vyplýva aj spôsob, akým využívame VBA – môže sa jednať len o akýsi prídavok, pričom väčšinu práce vykoná Excel, alebo môžeme VBA nasadiť v plnej sile a vytvoriť si tak profesionálnu aplikáciu. VBA podporuje aj objektovo orientované programovanie, zachytávanie výnimiek a z hľadiska algoritmických konštrukcií sa jedná o jazyk s najpestrejšími možnosťami zápisu cyklov (slučiek).
Cieľom kurzu je oboznámiť účastníkov s dynamickou správou štandardných komponentov MsForms a spoločných komponentov MSComCtl. Absolvent bude schopný využiť rozhranie API operačných systémov Windows pre využívanie časovačov a vlákien pre využitie maximálneho možného výpočtového výkonu. S využitím časovačov je možné vytvoriť animácie existujúcich objektov v Exceli.
Osnova kurzu
Dynamická správa komponentov MsForms
- Vytváranie ovládacích a ovládateľných komponentov
- Odstraňovanie komponentov počas behu
- Dynamická zmena vzhľadu komponentov
Dynamická správa komponentov MsComCtl
- Rozdiel medzi MsForms a MsComCtl
- Zmeny od Windows Vista z hľadiska GUI
- Komponent ListView
- Grafické formátovanie ListView
- Napĺňanie ListView dátami z hárkov
Úvod do Windows API
- Syntax Windows API
- Prehľad najdôležitejších funkcií a konštánt
- Knižnice user, kernel a gdi
- Získavanie popisovačov okien
- Nastavenie pokročilých vlastností okien
- Komunikácia s inými oknami aplikácie
- Práca so Shell-om
- Práca s myšou a klávesnicou
- Asynchrónne odchytávanie kláves
Časovače
- Princíp časovačov vo Windows
- Možnosti činnosti časovača
- Callback procedúry a ako ich zapísať vo VBA
- Využitie časovačov v Exceli
- Pasívne čakania, plánovania
- Animácie objektov – grafov, obrázkov
Viacvláknové programovanie a výpočty
- Pojmy proces, vlákno, úloha
- Vytvorenie pracovného vlákna v Exceli
- Procedúra vlákna a jeho životný cyklus
- Synchronizácia vlákien
- Riadenie vlákna
- Spustenie a zastavenie vlákien
- Komunikácia medzi vláknami
- Spustenie nových procesov
- Spustenie nových procesov využitím VBScript-ovania
- Čakanie na výsledky spracovania vlákien