SendKeys Excel VBA
V tomto článku sa zobrazí obrys programu Excel VBA SendKeys. Už ste niekedy premýšľali o vytvorení programu, ktorý automaticky uloží pracovný hárok a nemusíte na to stlačiť tlačidlo Ctrl + S alebo Excel Save? Vyzerá to ako fantázia, však? To sa však dá urobiť. Vo VBA je príkazový príkaz s názvom SendKeys, ktorý vám umožňuje poslať stlačené klávesy ako príkaz do aplikácie rovnakým spôsobom, ako keby ste na vykonanie úlohy používali klávesnicu. (Napr. Uloženie súboru. Na uloženie súboru musíte použiť klávesovú skratku Ctrl + S). Počas automatizácie akejkoľvek úlohy sa odporúča používať SendKeys ako poslednú možnosť. Dôvodom je, ako sme už diskutovali, SendKeys posiela stlačenia klávesov do aplikácie, ktorá je momentálne aktívna. Čo ak máte v čase spustenia kódu aktívne okno aplikácie, podľa ktorého nechcete, aby sa zmeny uskutočnili? Dá to neočakávané výsledky, však? Toto je jediný dôvod, mali by sme používať SendKeys ako poslednú možnosť pri automatizácii vecí. Môže sa však použiť na malú automatizáciu, keď žiadne iné aplikačné prostredie nezasahuje do prostredia, v ktorom chcete, aby sa zmena uskutočnila.
Metóda syntaxe SendKeys:
SendKeys(String As String, (Wait))
Kde,
Prvý argument „String As String“ určuje kombinácie klávesov, ktoré ste chceli použiť v programe (napr. Ctrl + S by bola kombináciou klávesov).
Čakanie by bolo voliteľným parametrom, ktorý prevezme logické hodnoty TRUE a FALSE. Ak čakanie má hodnotu TRUE, znamená to, že systém bude čakať na spracovanie kľúčov a potom prejde na ďalší riadok a kompiluje / spustí to isté. Ak je hodnota čakania FALSE (môže zostať prázdna), systém nebude čakať na spracovanie kľúčov a bude pokračovať v spúšťaní celého kódu.
Používajú sa niektoré metódy, pomocou ktorých je možné kombinovať stlačenia klávesov Ctrl, Shift alebo Alt. Pozrime sa, ako to môžeme urobiť Nasledujúca tabuľka špecifikuje kombinácie stlačení klávesov SendKeys s Ctrl, Shift a Alt:
Kľúč, ktorý sa má kombinovať s | Operátor, ktorý sa má použiť pred kombináciou klávesov |
smena | + (Znamienko plus) |
ctrl | (Znak prevádzkovateľa karet) |
alt | % (Percentuálny znak) |
Čo to znamená? To znamená, že ak chcete pod kódom použiť kombináciu klávesov ako Ctrl + S, môžete použiť metódu SendKeys a urobiť ju pomocou SendKeys, potom operátora Caret (^) pre Ctrl a potom „s“. Uloží aktuálny pracovný hárok do súboru programu Excel.
Ako používať metódu SendKeys v programe Excel VBA?
Naučíme sa, ako používať metódu SendKeys v programe Excel pomocou kódu VBA.
Túto šablónu VBA SendKeys Excel si môžete stiahnuť tu - VBA šablónu SendKeys ExcelVBA SendKeys - Príklad č. 1
Predstavme si niekoľko jednoduchých príkladov, ktoré nám umožnia hlbšie sa ponoriť do práce s príkazom VBA SendKeys.
V tomto prvom príklade sa chystáme na jednoduchú automatizáciu, ktorá automaticky uloží aktuálny otvorený súbor programu Excel. Na uloženie súboru nemusíte stlačiť tlačidlo Uložiť alebo Ctrl + S. Na dosiahnutie výsledku postupujte podľa krokov uvedených nižšie.
Krok 1: Otvorte modul na karte ponuky Vložiť, ako je to znázornené nižšie.
Krok 2: Definujte novú čiastkovú procedúru, ktorá môže obsahovať vaše makro.
kód:
Sub príklad_1 () Koniec sub
Krok 3: Teraz, ak chcete uložiť ľubovoľný súbor, máte kombináciu klávesov klávesov ako Ctrl + S. Na jeho prevod do kódu, môžeme použiť argument zástupcu (^) a potom kľúčové slovo „s“ ako argument pre príkaz SendKeys.
kód:
Sub Example_1 () Application.SendKeys ("s") End Sub
Kľúčové slovo Aplikácia určuje aplikáciu, do ktorej posielame stlačenia klávesov (v tomto prípade aplikácie Excel). „S“ v zátvorkách určuje podobnú klávesovú operáciu Ctrl + S.
Krok 4: Spustite tento kód stlačením tlačidla Spustiť alebo stlačením klávesu F5.
Po úspešnom spustení tohto kódu sa váš súbor uloží.
VBA SendKeys - Príklad č. 2
Teraz sa chystáme vidieť, ako zatvoriť aktuálnu aplikáciu odoslaním programových tlačidiel cez kód makra pomocou metódy SendKeys. Postupujte podľa nasledujúcich krokov:
Krok 1: Napíšte podprogram, ktorý môže držať vaše makro pod modulom.
kód:
Čiastkový príklad_2 () Koncový čiastkový údaj
Krok 2: Použite metódu Application.SendKeys na odovzdanie programových klávesníc aplikácii. Pretože aktuálnu tablu VBA je možné zatvoriť pomocou klávesovej skratky Alt + Q, môžeme použiť makro „% q“.
kód:
Sub Príklad_2 () Application.SendKeys ("% q") Koniec Sub
Krok 3: Kliknutím na tlačidlo Spustiť alebo F5 spustite tento kód. Po spustení tohto kódu sa aktuálny editor jazyka Visual Basic zatvorí a prejdete na súbor Excel.
VBA SendKeys - Príklad č. 3
Teraz napíšeme kód, ktorý automaticky otvorí Poznámkový blok a automaticky do neho zapíše text. Pozri obrázok nižšie:
Krok 1: Napíšte podprogram, ktorý môže držať vaše makro pod modulom.
kód:
Sub príklad_3 () Koniec sub
Program Call Shell umožňuje systému otvoriť aplikáciu. Cesta je miesto, kde je Notepad.exe. vbNormalFocus je voliteľný argument, ktorý určuje zameranie na otvorenie a obnovenie aplikácie do pôvodnej veľkosti a polohy.
Krok 2: Volajte a posielajte klávesové skratky v kombinácii, aby systém mohol pridať text do programu Poznámkový blok.
kód:
Sub Example_3 () Volanie Shell ("C: \ Windows \ System32 \ Notepad.exe", vbNormalFocus) End Sub
Krok 3: Do programu Poznámkový blok pridávame text „Ahoj VBA!“ Pomocou SendKeys. True určuje čas čakania na príkaz SendKeys.
kód:
Sub Príklad_3 () Hovor Shell ("C: \ Windows \ System32 \ Notepad.exe", vbNormalFocus) Volajte SendKeys ("Hello VBA!", True) End Sub
Krok 4: Spustite tento kód stlačením klávesy F5 alebo kliknutím na tlačidlo Spustiť.
Takto môžeme pomocou metódy SendKeys automatizovať aplikácie prostredníctvom makra VBA.
Čo je potrebné pamätať
- Pri používaní SendKeys buďte veľmi opatrní, pretože ak máte otvorených viacero aplikácií, môže to viesť k neočakávaným výsledkom.
- Pomocou SendKeys môžete automatizovať malé úlohy, ako je napríklad uloženie súboru Excel alebo zatvorenie súboru Excel atď.
- Pri pokuse o automatizáciu vecí použite ako poslednú možnosť metódu SendKeys.
Odporúčaný článok
Toto je sprievodca VBA SendKeys. Tu diskutujeme o tom, ako používať SendKeys Method v Excel VBA spolu s praktickými príkladmi a stiahnuteľnou šablónou Excel. Môžete si tiež prečítať naše ďalšie navrhované články -
- VBA počas slučky (príklady so šablónou programu Excel)
- VBA Environ Šablóny programu Excel
- Hľadanie cieľa VBA (príklad)
- Ako zmeniť pracovný hárok v Excel VBA?