Pomocou Visual Basic (VBA) si môžete vytvoriť úvodnú obrazovku, ktorá sa objaví pri otváraní vášho Excel súboru. Môže obsahovať logo vašej firmy, fotku, kontakty, web, či Facebook…
Príklad obrazovky vidno na obrázku v pravo. Rozmer obrazovky nie je nijako obmedzený a záleží len na vašej potrebe, či vkuse. Čas po ktorý bude úvodná obrazovka zobrazená si nastavíte samy.
Postup:
- vytvorenie vizuálnej podoby obrazovky
- vytvorenie jednoduchého makra, ktoré zabezpečí spustenie vami navrhnutej obrazovky
- vytvorenie makra, ktoré skryje obrazovku (skôr ako ste nastavili v makre)
Vytvorenie vizuálnej podoby obrazovky
- spustite editor Visual Basicu (otvoríte cez kartu “Vývojár”/”Visual Basic”*, alebo stlačením Alt F11)
- vložte UserForm (nástroj na vytváranie Užívateľských formulárov).
Editor vytvorí nový formulár (zvyčajne s názvom UserForm1). Formulár si môžete premenovať (pravý klik myšou na formulár a vybrať “Properties”).
Na karte “Properties” treba rozlišovať dve položky:- Name – s týmto menom pracuje VBA – a to musíte použiť pri písaní vášho kódu
- Caption – je názov, ktorý sa bude zobrazovať užívateľovi – v prípade UserForms v hornej (modrej) časti formulára
- pomocou nástroja Toolbox na váš formulár vložte požadované prvky.
V prípade úvodnej obrazovky to budú hlavne textové prvky a obrázky.
Vytvorenie jednoduchého makra/kódu
- procedúra, ktorá zabezpečí otvorenie úvodnej obrazovky po otvorení Excelu. Je viac než jednoduchá:
Private Sub Workbook_Open() frmUvodObr.Show End Sub
frmUvodObr | je meno formulára (Name na karte Properties) |
Show | je príkaz na “ukázanie”, resp. spustenie formulára |
Tento kód treba vložiť do “ThisWorkbook/Tento_zošit”, čo zabezpečí jeho spustenie po otvorení Excelu . Tu uvidíte ako.
Táto procedúra síce úvodnú obrazovku otvorí, potrebujeme ju ale zatvoriť. To musí zabezpečiť ďalšia procedúra (v našom príklade budú hneď dve.)
- procedúry, ktoré zatvoria obrazovku vo vpred nastavenom čase:
Private Sub UserForm_Activate() Application.OnTime Now + TimeSerial(0, 0, 3), "ZatvorForm" End Sub
Procedúra “UserForm_Activate” zabezpečí odpočítavanie nastaveného času. Po jeho uplynutí zavolá procedúru “ZatvorForm”.
Syntax funkcie TimeSerial je Timeserial(hodiny, minúty, sekundy).
Private Sub ZatvorForm() Unload frmUvodObr End Sub
Vytvorenie makra, ktoré skryje obrazovku (skôr ako ste nastavili v makre)
Ak chcete zatvoriť úvodnú obrazovku skôr ako je nastavené v kóde, vložte na svoj formulár príkazové tlačidlo (CommandButton), ktoré skryje úvodnú obrazovku. Opäť máte možnosť (v Properties) nastaviť jeho názov a text ktorý sa má zobrazovať (v našom prípade Zruš).
K tlačítku priradíte jednoduchú procedúru (ak neviete kam procedúru vložiť stačí dvojklik na tlačidlo VBA editor vám základ procedúry pripraví):
Private Sub cmdCancel_Click() End Sub
cmdCancel_Click() je názov procedúry, ktorý nie je voliteľný a znamená:
- cmdCancel – názov prvku (v našom prípade príkazové tlačítk)
- Click – akcia vyhradená VBA editorom. Hovorí v skratke o tom po, akej udalosti (event) sa má procedúra spustiť – v našom prípade po kliknutí (Click) na tlačidlo (cmdCancel)
Do procedúry ešte musíme vložiť samotný kód, ktorý zatvorí úvodnú obrazovku – Unload Me.
Private Sub cmdCancel_Click() Unload Me End Sub