Tento soubor představuje jednoduchý příklad, jak lze v Excelu načítat data z externích souborů typu
*.dbf nebo
*.csv (aplikace byla vytvořena ve verzi
Microsoft Excel 2000 cz).
- Zdrojové soubory jsou pro tento příklad "Data.dbf" nebo "Data.csv".
1. Možnosti a omezení:
Obecně lze načítat data z každé databáze jejiž otevření
Excel podporuje. Cestu ke zdrojovému souboru nelze zadat relativní cestou (list
"Settings", buňka
"B1"). Externí databáze (ty, které jsou podporovány) se metodou
"Open" otevírají v prostředí
Excelu. A proto je obvyklé, že "Název listu, ve kterém jsou zdrojová data" = název souboru bez přípony (list
"Settings", buňka
"B2"). V nastavení
Excelu musí být v menu:
Nástroje/Makro/Zabezpečení..., karta
Úroveň zabezpečení.
Vybrat "Střední" (Po spuštění aplikace bude otevřeno modální okno, ve kterém se musí povolit vykonáváni Maker).
nebo "Nízká" (Makra se provedou ihned a bez dotazu). V předchozích verzích Excelu byla tato volba v: Nástroje/Možnosti...
Pokud se přejmenuje název listu (Sešitu), pak dojde k selhání skriptu (Makra).
2. Jak je tato aplikace vytvořena
Byl použit následující postup:
a) Ve vizuálním prostředí
Excelu byly pro zpracování použity dva listy:
"List1" s tlačítkem spuštění načítání dat a oblast (od buňky "A2"), do které se budou data načítat.
"Setting" - buňky A1 a A2 s popisem a buňky B1 a B2, jejiž "hodnota" je použita v níže popsaném skriptu
Vytvoření tlačítka v
List1:
V
"List1" stiskněte pravé tlačítko myši na prázdném poli lišty
"Menu" a z nabídnutých položek vybrat ovládací prvky.
V menu
"Ovládací prvky" stiskněte tlačítko "
Návrh režimu", až se stane aktivním, pak
"Příkazové tlačítko".
Pak ve stránce pohybem myši se stisknutým levým tlačítkem se vyznačí oblast, do které se tlačítko vykreslí. Vzhled a popisný text se upraví pravým tlačítkem myši nad tímto objektem ve vlastnostech. Dvojklikem levým tlačítkem myši nad tímto objektem se otevře "Editor Jazyka Visual Basic" a v něm se
"přednastaví funkce", která bude volána po stisknutí (popsáno níže). Zavřít "Editor Jazyka Visual Basic", zrušit režim návrhu (kliknutím deaktivovat) a aplikaci průběžně uložit.
b) V Editoru Jazyka Visual Basic. Otevře se z menu
Nastroje/Makro/Editor Editor Jazyka Visual Basic (
Alt+F11).
Popis Editoru a jeho základní funkce:
V okně
"Project-VBAProject" (tlačítko "
Project Explorer") jsou k dispozici všechny listy aplikace, dále objekt
ThisWorkbook a v sekci Modules
"Modul1". Dvojklikem levým tlačítkem myši se objeví v okně pro editaci obsah (skripty), které tyto objekty obsahují. Tato aplikace má v objektu
ThisWorkbook v události
"Open" vytvořenou funkci, která se provede v okamžiku, kdy je aplikace otevřena. (Volá funkci
"Init" v globálním
"Modul1" a současně je ošetřena událost, pokud tato funkce selže).
V objektu
List1 je seřazen seznam funkcí, které se postupně provedou, pokud se klikne na
"Tlačítko" v tomto listu. Opět je ošetřena událost, pokud některá z těchto funkcí selže.
A v objektu
Modul1 jsou funkce, na které je odkaz po stisknutí tlačítka nebo ty, které obsluhují běh spuštěného procesu.
Popis skriptů ve funkcích modulu
Modul1:
V úvodu jsou vytvořeny globální proměnné (
Public - tyto budou dostupné ve všech funkcích i objektech této aplikace).
Funkce "Init" - Vytvoří reference na tuto aplikaci "List1" a "Setting" a do proměnných sPath přiřadí hodnotu z buňky B1 a do sSheet hodnotu z buňky B2. Dále pomocí metody "Open" s 1 parametrem sPath otevře zdrojovou databázi a vytvoří referenci na tento globální objekt. Stejně tak vytvoří referenci na list tohoto objektu.
Funkce "Reset" - Uvolňuje proměnné z paměti, pokud selže běh aplikace.
Funkce
"ReadData" - Čte data z databáze a zapisuje je do
"List1" této aplikace. Je složena ze dvou smyček
For-Next a
Do-Loop-While.
For-Next zajistí, že data ze zdroje (DB) se načítají a zapisují od sloupce prvního po sloupec čtvrtý.
Do-Loop-While (v těle smyčky
For-Next) provádí to, že čte a zapisuje do
"List1" každou hodnotu v řádku daného sloupce a to do té doby, dokud v prvním sloupci zdrojové databáze není řádek s "prázdnou hodnotou" (podmínka ve
While).
Funkce "CloseDb" - Zavře databázi a uvolní globální proměnné z paměti.
3. Nápověda, ovládání a ladění skriptů:
Nápověda v editoru Jazyka Visual Basic se otevře klávesou
F1, je funkční i kontextově pokud je kurzor umístěn na klíčovém slově.
Funkce lze spouštět jednotlivě pokud je kurzor v těle funkce a je spuštěno tlačítko "
Run Sub/User Form" nebo klávesou
F5.
Lze krokovat skript tlačítkem "
Step Into".
Vykonávání skriptu se ukončí tlačítkem "
Reset".
Zarážku běhu skriptu lze zadat tak, že se vytvoří v místě kde je umístěn kurzor po stisknutí tlačítka
"Toggle Breakpoint".
Hodnota proměnné může být sledována v okně
Watch spuštěném tlačítkem "
Watch". Do něj při "krokování" tahem myši je přenesena požadovaná proměnná jejiž hodnotu pak lze sledovat.