Ako používať udalosti OnTime a udalosti stlačenia klávesov v Exceli 2016 VBA

V programovaní VBA pre Excel 2016 môžete použiť dva typy udalostí, ktoré nie sú spojené s objektmi: čas a stlačenie klávesov. Pretože čas a stlačenie kláves nie sú spojené s konkrétnym objektom, ako je zošit alebo pracovný hárok, naprogramujete tieto udalosti v bežnom module VBA.

Udalosť OnTime

Udalosť OnTime nastane, keď nastane konkrétny čas dňa. Nasledujúci príklad ukazuje, ako prinútiť Excel, aby vykonal procedúru, keď nastane udalosť o 15:00. V tomto prípade vám hlas robota povie, aby ste sa zobudili, spolu so správou:

Sub SetAlarm()
  Application.OnTime 0,625, „DisplayAlarm“
End Sub
Sub DisplayAlarm()
  Application.Speech.Speak („Hej, zobuď sa“)
  MsgBox "Je čas na popoludňajšiu prestávku!"
End Sub

V tomto príklade je použitá metóda OnTime objektu Application. Táto metóda má dva argumenty: čas (0,625 alebo 15:00) a názov procedúry Sub, ktorá sa má vykonať, keď nastane časová udalosť (DisplayAlarm).

Tento postup je celkom užitočný, ak máte tendenciu sa tak zamotať do práce, že zabudnete na stretnutia a stretnutia. Stačí nastaviť udalosť OnTime, ktorá sa vám pripomenie.

Pre väčšinu ľudí je ťažké uvažovať o čase z hľadiska systému číslovania v Exceli. Preto možno budete chcieť použiť funkciu VBA TimeValue na zobrazenie času. TimeValue skonvertuje reťazec, ktorý vyzerá ako čas, na hodnotu, ktorú Excel dokáže spracovať. Nasledujúce vyhlásenie ukazuje jednoduchší spôsob, ako naprogramovať udalosť na 15:00:

Application.OnTime TimeValue(“15:00:00”), “DisplayAlarm”

Ak chcete naplánovať udalosť vzhľadom na aktuálny čas (napríklad o 20 minút odteraz), môžete použiť príkaz, ako je tento:

Application.OnTime Now + TimeValue(“00:20:00”), “DisplayAlarm”

Na spustenie procedúry VBA v určitý deň môžete použiť aj metódu OnTime. Musíte sa uistiť, že váš počítač zostane spustený a že zošit s procedúrou zostane otvorený. Nasledujúce vyhlásenie spustí procedúru DisplayAlarm o 17:00 dňa 31. decembra 2016:

Application.OnTime DateValue(“31.12.2016 17:00”), “DisplayAlarm”

Tento konkrétny kódový riadok sa môže hodiť, aby vás upozornil, že musíte ísť domov a pripraviť sa na silvestrovské slávnosti.

Tu je ďalší príklad, ktorý používa udalosť OnTime. Vykonaním procedúr UpdateClock sa zapíše čas do bunky A1 a tiež sa naprogramuje ďalšia udalosť o päť sekúnd neskôr. Táto udalosť znova spustí procedúru UpdateClock. Výsledkom je, že bunka A1 sa aktualizuje s aktuálnym časom každých päť sekúnd. Ak chcete zastaviť udalosti, vykonajte procedúru StopClock (ktorá zruší udalosť). Všimnite si, že NextTick je premenná na úrovni modulu, ktorá ukladá čas pre ďalšiu udalosť.

Stlmiť Ďalej Označte ako dátum
Sub UpdateClock()
' Aktualizuje bunku A1 aktuálnym časom
  ThisWorkbook.Sheets(1).Rozsah(“A1”) = Čas
' O päť sekúnd nastavte ďalšiu udalosť
  NextTick = Now + TimeValue(“00:00:05”)
  Application.OnTime NextTick, “UpdateClock”
End Sub
Sub StopClock()
' Zruší udalosť OnTime (zastaví hodiny)
  Pri chybe Pokračujte ďalej
  Application.OnTime NextTick, “UpdateClock”, , False
End Sub

Udalosť OnTime pretrváva aj po zatvorení zošita. Inými slovami, ak zošit zatvoríte bez spustenia procedúry StopClock, zošit sa sám znova otvorí o päť sekúnd (za predpokladu, že Excel je stále spustený). Aby ste tomu zabránili, použite procedúru udalosti Workbook_BeforeClose, ktorá obsahuje nasledujúce vyhlásenie:

Zavolajte StopClock

Metóda OnTime má dva ďalšie argumenty. Ak plánujete použiť túto metódu, mali by ste si pozrieť systém pomoci, kde nájdete úplné podrobnosti.

Ak by ste chceli vidieť pomerne komplikovanú aplikáciu, vyskúšajte túto aplikáciu analógových hodín. Ciferník je vlastne graf a graf sa aktualizuje každú sekundu, aby zobrazoval čas dňa. Zbytočné, ale zábavné.

Ako používať udalosti OnTime a udalosti stlačenia klávesov v Exceli 2016 VBA

Aplikácia analógových hodín.

Udalosti stlačenia klávesov

Počas práce Excel neustále sleduje, čo píšete. Z tohto dôvodu môžete veci nastaviť tak, aby stlačenie klávesu alebo kombinácia kláves vykonala procedúru.

Tu je príklad, ktorý mení priradenie klávesov PgDn a PgUp:

Sub Setup_OnKey()
  Application.OnKey „{PgDn}“, „PgDn_Sub“
  Application.OnKey „{PgUp}“, „PgUp_Sub“
End Sub
Sub PgDn_Sub()
  Pri chybe Pokračujte ďalej
  ActiveCell.Offset(1, 0).Aktivovať
End Sub
Sub PgUp_Sub()
  Pri chybe Pokračujte ďalej
  ActiveCell.Offset(-1, 0).Aktivovať
End Sub

Po nastavení udalostí OnKey vykonaním procedúry Setup_OnKey sa stlačením PgDn presuniete o jeden riadok nižšie. Stlačením PgUp sa presuniete o jeden riadok nahor.

Všimnite si, že kódy kľúčov sú uzavreté v zátvorkách, nie v zátvorkách. Úplný zoznam kódov klávesnice nájdete v systéme pomoci. Vyhľadajte OnKey.

V tomto príklade sa funkcia On Error Resume Next používa na ignorovanie všetkých vygenerovaných chýb. Ak je napríklad aktívna bunka v prvom riadku, pokus o posun o jeden riadok nahor spôsobí chybu, ktorú možno bezpečne ignorovať. A ak je aktívny hárok s grafom, neexistuje žiadna aktívna bunka.

Vykonaním nasledujúceho postupu zrušíte udalosti OnKey:

Sub Cancel_OnKey()
  Application.OnKey „{PgDn}“
  Application.OnKey „{PgUp}“
End Sub

Pomocou prázdny reťazec ako druhý argument pre onkey metódy však nemožno zrušiť onkey udalosť. Skôr spôsobí, že Excel jednoducho ignoruje stlačenie klávesu. Napríklad nasledujúci príkaz hovorí Excelu, aby ignoroval Alt+F4. Znak percenta predstavuje kláves Alt:

  Application.OnKey „%{F4}“, „“

Hoci môžete použiť metódu OnKey na priradenie klávesovej skratky na vykonanie makra, na túto úlohu by ste mali použiť dialógové okno Možnosti makra.

Ak zatvoríte zošit, ktorý obsahuje kód a necháte Excel otvorený, metóda OnKey sa nevynuluje. V dôsledku toho stlačenie klávesovej skratky spôsobí, že Excel automaticky otvorí súbor s makrom. Aby ste tomu zabránili, mali by ste do kódu udalosti Workbook_BeforeClose zahrnúť kód na resetovanie udalosti OnKey.


Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime len na čítanie v systéme Windows Microsoft Word otvára súbory v režime len na čítanie, takže ich nie je možné upravovať? Nebojte sa, metódy sú uvedené nižšie

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť chyby pri tlači nesprávnych dokumentov Microsoft Word Chyby pri tlači dokumentov Word so zmeneným typom písma, chaotickými odsekmi, chýbajúcim textom alebo strateným obsahom sú pomerne časté. Avšak, nie

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Ak ste použili pero alebo zvýrazňovač na kreslenie na powerpointové snímky počas prezentácie, môžete si kresby uložiť pre ďalšiu prezentáciu alebo ich vymazať, aby ste pri ďalšom zobrazení začali s čistými powerpointovými snímkami. Ak chcete vymazať kresby perom a zvýrazňovačom, postupujte podľa týchto pokynov: Vymazanie riadkov jedna na […]

Obsah knižnice štýlov v SharePointe 2010

Obsah knižnice štýlov v SharePointe 2010

Knižnica štýlov obsahuje súbory CSS, súbory XSL (Extensible Stylesheet Language) a obrázky používané preddefinovanými vzorovými stránkami, rozloženiami strán a ovládacími prvkami v SharePointe 2010. Ak chcete nájsť súbory CSS v knižnici štýlov publikačnej lokality: Vyberte Akcie lokality→Zobraziť Všetok obsah stránky. Zobrazí sa obsah stránky. Knižnica štýlov sa nachádza v […]

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Nezahlcujte svoje publikum obrovskými číslami. V programe Microsoft Excel môžete zlepšiť čitateľnosť svojich tabúľ a zostáv formátovaním čísel tak, aby sa zobrazovali v tisíckach alebo miliónoch.

Ako zdieľať a sledovať lokality SharePoint

Ako zdieľať a sledovať lokality SharePoint

Zistite, ako používať nástroje sociálnych sietí SharePoints, ktoré umožňujú jednotlivcom a skupinám komunikovať, spolupracovať, zdieľať a spájať sa.

Ako previesť dátumy do Julianových formátov v Exceli

Ako previesť dátumy do Julianových formátov v Exceli

Juliánske dátumy sa často používajú vo výrobných prostrediach ako časová pečiatka a rýchla referencia pre číslo šarže. Tento typ kódovania dátumu umožňuje maloobchodníkom, spotrebiteľom a servisným zástupcom identifikovať, kedy bol produkt vyrobený, a teda aj vek produktu. Juliánske dátumy sa používajú aj v programovaní, armáde a astronómii. Rôzne […]

Ako vytvoriť Access Web App

Ako vytvoriť Access Web App

V Accesse 2016 môžete vytvoriť webovú aplikáciu. Čo je to teda webová aplikácia? Web znamená, že je online a aplikácia je len skratka pre „aplikáciu“. Vlastná webová aplikácia je online databázová aplikácia, ku ktorej sa pristupuje z cloudu pomocou prehliadača. Vytvárate a udržiavate webovú aplikáciu vo verzii pre počítače […]

Panel rýchleho spustenia v SharePointe 2010

Panel rýchleho spustenia v SharePointe 2010

Väčšina stránok v SharePointe 2010 zobrazuje zoznam navigačných prepojení na paneli Rýchle spustenie pozdĺž ľavej strany stránky. Panel Rýchle spustenie zobrazuje prepojenia na odporúčaný obsah lokality, ako sú zoznamy, knižnice, lokality a publikačné stránky. Panel Rýchle spustenie obsahuje dva veľmi dôležité odkazy: Odkaz na celý obsah lokality: […]

Čo znamenajú chybové hlásenia v programe Excel?

Čo znamenajú chybové hlásenia v programe Excel?

Pre jednoduché problémy Riešiteľ v Exceli zvyčajne rýchlo nájde optimálne hodnoty premennej Riešiteľ pre cieľovú funkciu. V niektorých prípadoch má však Riešiteľ problém nájsť hodnoty premennej Riešiteľ, ktoré optimalizujú cieľovú funkciu. V týchto prípadoch Riešiteľ zvyčajne zobrazí hlásenie alebo chybové hlásenie, ktoré popisuje alebo diskutuje problém, ktorý […]