Klávesy VBA Send

Klávesy VBA Send

Na odoslanie stlačení klávesov aktívnej aplikácii sa používa metóda VBA SendKeys:

1 Application.SendKeys ("s")

Vyššie uvedený kód bude napodobňovať stlačenie klávesu „s“ na klávesnici.

Metóda SendKeys má dva argumenty:

  • Klávesy - kľúče, ktoré chcete odoslať aplikácii ako text.
  • Počkaj (Voliteľné)- Táto hodnota môže byť True alebo False. Ak je to pravda, Excel pred spustením ďalšieho riadka kódu počká, kým sa najskôr spracujú kľúče. Ak je to nepravdivé, Excel pokračuje v procedúre bez čakania na spracovanie kľúčov.

SendKeys sa zvyčajne používa pri interakcii s inými aplikáciami, pretože je to rýchly a ľahký spôsob vykonávania úloh. Klávesy SendKeys môžete napríklad použiť na automatizáciu programu Internet Explorer.

Pri použití metódy SendKeys by ste však mali byť veľmi opatrní, pretože môže mať neočakávané výsledky. Klávesy SendKeys odporúčame používať iba ako poslednú možnosť a/alebo vtedy, ak sú chyby tolerovateľné (alebo ľahko zistiteľné).

Príklady VBA SendKeys

Každý kľúč z hľadiska písmen je reprezentovaný ich znakom, napríklad a je „a“.
Ak chcete použiť klávesy v kombinácii s Ctrl, Shift alebo Alt, musíte kódu kľúča predchádzať nasledujúcim spôsobom:

Kľúč Kód
Ctrl ^
Smena +
Alt %

Nasledujúci kód používa na uloženie zošita metódu SendKeys:

12345 Sub UsingSendKeys ()Application.SendKeys ("^s")Koniec pod

Ako sme už uviedli, pri používaní klávesov SendKeys musíte byť veľmi opatrní. Nasledujúci kód určuje čakaciu dobu 10 sekúnd, kým sa text zadá/odošle do programu Poznámkový blok. Počkaním 10 sekúnd umožníte programu Poznámkový blok šancu správne sa otvoriť, čím sa zníži pravdepodobnosť chyby.

Poznámka: Tento kód používa metódu Application.Wait.

1234567 Sub UsingSendKeysWithWait ()Zavolajte Shell ("C: \ Windows \ system32 \ Notepad.Exe", vbNormalFocus)Application.Wait (Now () + TimeValue ("00:00:10"))Zavolajte SendKeys („Toto je nejaký text“, pravda)Koniec pod

Výsledok po 10 sekundách čakania je:

SendKeys môže byť mimoriadne rýchly a ľahký spôsob vykonávania úloh. Riziká chýb sú však relatívne vysoké. Klávesy SendKeys používajte iba vtedy, ak je toto riziko prijateľné!

wave wave wave wave wave