Jak používat události OnTime a události stisknutí klávesy v Excelu 2016 VBA

V programování VBA pro Excel 2016 můžete použít dva typy událostí, které nejsou spojeny s objekty: čas a stisknutí kláves. Protože čas a stisknutí kláves nejsou spojeny s konkrétním objektem, jako je sešit nebo pracovní list, naprogramujete tyto události v normálním modulu VBA.

Událost OnTime

Událost OnTime nastane, když nastane určitá denní doba. Následující příklad ukazuje, jak přimět Excel ke spuštění procedury, když dojde k události 15:00. V tomto případě vám hlas robota řekne, abyste se probudili, doprovázený zprávou:

Sub SetAlarm()
  Application.OnTime 0,625, „DisplayAlarm“
End Sub
Dílčí DisplayAlarm()
  Application.Speech.Speak („Hej, probuď se“)
  MsgBox "Je čas na odpolední přestávku!"
End Sub

V tomto příkladu je použita metoda OnTime objektu Application. Tato metoda používá dva argumenty: čas (0,625 nebo 15:00) a název procedury Sub, která se má spustit, když dojde k časové události (DisplayAlarm).

Tento postup je docela užitečný, pokud máte tendenci se do práce tak zamotat, že zapomínáte na schůzky a schůzky. Stačí nastavit událost OnTime, která se vám připomene.

Pro většinu lidí je obtížné uvažovat o čase z hlediska systému číslování v Excelu. Proto můžete chtít použít funkci VBA TimeValue k vyjádření času. TimeValue převede řetězec, který vypadá jako čas, na hodnotu, kterou Excel zvládne. Následující prohlášení ukazuje jednodušší způsob, jak naprogramovat událost na 15:00:

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

Pokud chcete naplánovat událost vzhledem k aktuálnímu času (například za 20 minut), můžete použít následující příkaz:

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

Ke spuštění procedury VBA v určitý den můžete také použít metodu OnTime. Musíte se ujistit, že váš počítač stále běží a že sešit s postupem zůstává otevřený. Následující prohlášení spouští proceduru DisplayAlarm v 17:00 dne 31. prosince 2016:

Application.OnTime DateValue(“31. 12. 2016 17:00”), “DisplayAlarm”

Tento konkrétní řádek kódu by se mohl hodit, aby vás upozornil, že musíte jít domů a připravit se na silvestrovské oslavy.

Zde je další příklad, který používá událost OnTime. Provedení procedur UpdateClock zapíše čas do buňky A1 a také naprogramuje další událost o pět sekund později. Tato událost znovu spustí proceduru UpdateClock. Čistým efektem je, že buňka A1 je aktualizována aktuálním časem každých pět sekund. Chcete-li zastavit události, proveďte proceduru StopClock (která zruší událost). Všimněte si, že NextTick je proměnná na úrovni modulu, která ukládá čas pro další událost.

Ztlumit Další Označte jako datum
Sub UpdateClock()
' Aktualizuje buňku A1 aktuálním časem
  ThisWorkbook.Sheets(1).Rozsah(“A1”) = Čas
Nastavte další událost za pět sekund
  NextTick = Now + TimeValue(“00:00:05”)
  Application.OnTime NextTick, „UpdateClock“
End Sub
Sub StopClock()
' Zruší událost OnTime (zastaví hodiny)
  Při chybě pokračovat dále
  Application.OnTime NextTick, “UpdateClock”, , False
End Sub

Událost OnTime přetrvává i po zavření sešitu. Jinými slovy, pokud zavřete sešit bez spuštění procedury StopClock, sešit se sám znovu otevře za pět sekund (za předpokladu, že Excel stále běží). Chcete-li tomu zabránit, použijte proceduru události Workbook_BeforeClose, která obsahuje následující příkaz:

Zavolejte StopClock

Metoda OnTime má dva další argumenty. Pokud plánujete použít tuto metodu, měli byste se podívat na systém nápovědy, kde najdete úplné podrobnosti.

Pokud byste chtěli vidět poněkud komplikovanou aplikaci, podívejte se na tuto aplikaci analogových hodin. Ciferník je ve skutečnosti graf a graf se aktualizuje každou sekundu, aby zobrazoval denní dobu. Zbytečné, ale zábavné.

Jak používat události OnTime a události stisknutí klávesy v Excelu 2016 VBA

Aplikace pro analogové hodiny.

Události stisku kláves

Při práci Excel neustále sleduje, co píšete. Z tohoto důvodu můžete věci nastavit tak, aby stisk klávesy nebo kombinace kláves provedl proceduru.

Zde je příklad, který změní přiřazení kláves PgDn a PgUp:

Sub Setup_OnKey()
  Application.OnKey „{PgDn}“, „PgDn_Sub“
  Application.OnKey „{PgUp}“, „PgUp_Sub“
End Sub
Sub PgDn_Sub()
  Při chybě pokračovat dále
  ActiveCell.Offset(1, 0).Aktivovat
End Sub
Sub PgUp_Sub()
  Při chybě pokračovat dále
  ActiveCell.Offset(-1, 0).Aktivovat
End Sub

Po nastavení událostí OnKey provedením procedury Setup_OnKey se stisknutím PgDn přesunete o jeden řádek dolů. Stisknutím tlačítka PgUp se přesunete o jeden řádek nahoru.

Všimněte si, že kódy kláves jsou uzavřeny ve složených závorkách, nikoli v závorkách. Úplný seznam kódů klávesnice naleznete v systému nápovědy. Vyhledejte OnKey.

V tomto příkladu se příkaz On Error Resume Next používá k ignorování všech generovaných chyb. Pokud je například aktivní buňka v prvním řádku, pokus o posun o jeden řádek nahoru způsobí chybu, kterou lze bezpečně ignorovat. A pokud je aktivní list s grafem, není zde žádná aktivní buňka.

Provedením následující rutiny zrušíte události OnKey:

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

Pomocí prázdný řetězec jako druhý argument pro onkey metody však nelze zrušit onkey událost. Spíše způsobí, že Excel jednoduše ignoruje stisk klávesy. Například následující příkaz říká Excelu, aby ignoroval Alt+F4. Znak procenta představuje klávesu Alt:

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

Ačkoli můžete použít metodu OnKey k přiřazení klávesové zkratky pro provádění makra, měli byste pro tento úkol použít dialogové okno Možnosti makra.

Pokud zavřete sešit obsahující kód a necháte Excel otevřený, metoda OnKey nebude resetována. V důsledku toho stisknutí klávesové zkratky způsobí, že Excel automaticky otevře soubor s makrem. Abyste tomu zabránili, měli byste do kódu události Workbook_BeforeClose zahrnout kód pro resetování události OnKey.


Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows

Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows

Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows Aplikace Microsoft Word otevírá soubory v režimu pouze pro čtení, takže je nelze upravovat? Nebojte se, metody jsou uvedeny níže

Jak opravit nesprávný tisk dokumentů Microsoft Word

Jak opravit nesprávný tisk dokumentů Microsoft Word

Jak opravit chyby při tisku nesprávných dokumentů Microsoft Word Chyby při tisku dokumentů Word se změněným písmem, chaotickými odstavci, chybějícím textem nebo ztraceným obsahem jsou poměrně časté. Nicméně ne

Vymažte kresby perem a zvýrazňovačem na snímcích PowerPoint

Vymažte kresby perem a zvýrazňovačem na snímcích PowerPoint

Pokud jste použili pero nebo zvýrazňovač ke kreslení na snímky aplikace PowerPoint během prezentace, můžete kresby uložit pro další prezentaci nebo je vymazat, takže až ji příště ukážete, začnete s čistými snímky aplikace PowerPoint. Chcete-li vymazat kresby perem a zvýrazňovačem, postupujte podle těchto pokynů: Mazání čar jedna na […]

Obsah knihovny stylů v SharePointu 2010

Obsah knihovny stylů v SharePointu 2010

Knihovna stylů obsahuje soubory CSS, soubory XSL (Extensible Stylesheet Language) a obrázky používané předdefinovanými vzorovými stránkami, rozvržení stránek a ovládací prvky v SharePointu 2010. Chcete-li najít soubory CSS v knihovně stylů webu pro publikování: Vyberte Akce webu→ Zobrazit Veškerý obsah webu. Zobrazí se obsah webu. Knihovna stylů se nachází v […]

Formátování čísel v tisících a milionech v sestavách Excel

Formátování čísel v tisících a milionech v sestavách Excel

Nezahlcujte své publikum gargantuovskými čísly. V aplikaci Microsoft Excel můžete zlepšit čitelnost řídicích panelů a sestav formátováním čísel tak, aby se zobrazovaly v tisících nebo milionech.

Jak sdílet a sledovat weby SharePoint

Jak sdílet a sledovat weby SharePoint

Naučte se používat nástroje sociálních sítí SharePoints, které umožňují jednotlivcům a skupinám komunikovat, spolupracovat, sdílet a propojovat se.

Jak převést data do juliánských formátů v aplikaci Excel

Jak převést data do juliánských formátů v aplikaci Excel

Juliánská data se často používají ve výrobním prostředí jako časové razítko a rychlý odkaz pro číslo šarže. Tento typ kódování data umožňuje maloobchodníkům, spotřebitelům a servisním zástupcům identifikovat, kdy byl produkt vyroben, a tím i stáří produktu. Juliánská data se také používají v programování, armádě a astronomii. Odlišný […]

Jak vytvořit webovou aplikaci Access

Jak vytvořit webovou aplikaci Access

Webovou aplikaci můžete vytvořit v Accessu 2016. Co je tedy vlastně webová aplikace? Web znamená, že je online, a aplikace je jen zkratka pro „aplikaci“. Vlastní webová aplikace je online databázová aplikace přístupná z cloudu pomocí prohlížeče. Webovou aplikaci vytváříte a udržujete ve verzi pro počítače […]

Panel rychlého spuštění v SharePointu 2010

Panel rychlého spuštění v SharePointu 2010

Většina stránek v SharePointu 2010 zobrazuje seznam navigačních odkazů na panelu Snadné spuštění na levé straně stránky. Panel Snadné spuštění zobrazuje odkazy na doporučený obsah webu, jako jsou seznamy, knihovny, weby a stránky publikování. Panel Snadné spuštění obsahuje dva velmi důležité odkazy: Odkaz na veškerý obsah webu: […]

Co znamenají chybové zprávy Řešitel v Excelu?

Co znamenají chybové zprávy Řešitel v Excelu?

U jednoduchých problémů Řešitel v Excelu obvykle rychle najde optimální hodnoty proměnné Řešitel pro účelovou funkci. Ale v některých případech má Řešitel problém najít hodnoty proměnné Řešitel, které optimalizují účelovou funkci. V těchto případech Řešitel obvykle zobrazí zprávu nebo chybovou zprávu, která popisuje nebo popisuje problém, který […]