VBA SendKeys

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ó!

wave wave wave wave wave