VBA SendKeys
A VBA SendKeys módszerrel lehet billentyűleütéseket küldeni az aktív alkalmazásnak:
1 | Application.SendKeys ("s") |
A fenti kód utánozza a billentyűzet „s” gombjának megnyomását.
A SendKeys módszer két érvet tartalmaz:
- Kulcsok - Az alkalmazáshoz szövegként elküldeni kívánt kulcsok.
- Várjon (Választható)- Ez az érték lehet igaz vagy hamis. Ha igaz, akkor az Excel várja a kulcsok feldolgozását, mielőtt a következő kódsor futtatásra kerül. Ha hamis, akkor az Excel folytatja az eljárást anélkül, hogy megvárná a kulcsok feldolgozását.
A SendKeys rendszerint más alkalmazásokkal való interakció során használatos, mert gyors és egyszerű módja a feladatok elvégzésének. Például használhatja a SendKeys -t az Internet Explorer automatizálásakor.
A SendKeys módszer használatakor azonban rendkívül óvatosnak kell lennie, mivel váratlan eredményeket hozhat. Javasoljuk, hogy a SendKeys -t csak végső esetben használja, és/vagy amikor a hibák elviselhetők (vagy könnyen észlelhetők).
VBA SendKeys példák
A betűk mindegyik gombját a karakter jelöli, például a „a”.
Ha a billentyűket Ctrl, Shift vagy Alt kombinációval szeretné használni, akkor a kulcskódot a következőkkel kell megelőznie:
Kulcs | Kód |
---|---|
Ctrl | ^ |
Váltás | + |
Alt | % |
A következő kód a SendKeys metódust használja a munkafüzet mentéséhez:
12345 | Sub UsingSendKeys ()Application.SendKeys ("^s")End Sub |
Mint korábban említettük, rendkívül óvatosnak kell lennie a SendKeys használatakor. A következő kód 10 másodperces várakozási időt ad meg, mielőtt a szöveg beírásra/elküldésre kerül a Jegyzettömbbe. 10 másodperc várakozással lehetővé teszi a Jegyzettömb megfelelő megnyitásához, csökkentve a hiba esélyét.
Megjegyzés: Ez a kód az Application.Wait módszert használja.
1234567 | Sub UsingSendKeysWithWait ()A Shell hívása ("C: \ Windows \ system32 \ Notepad.Exe", vbNormalFocus)Application.Wait (Most () + TimeValue ("00:00:10"))Call SendKeys ("Ez egy szöveg", igaz)End Sub |
Az eredmény 10 másodperc várakozási idő után:
A SendKeys rendkívül gyors és egyszerű módja lehet a feladatok elvégzésének. A hibák kockázata azonban viszonylag magas. Csak akkor használja a SendKeys -t, ha ez a kockázat elfogadható!