VBA SendKeys

Lang L: none (table-of-contents)

VBA SendKeys

Klahvivajutuste saatmiseks aktiivsele rakendusele kasutatakse VBA SendKeys meetodit.

1 Application.SendKeys ("s")

Ülaltoodud kood jäljendab klaviatuuri klahvi "s" vajutamist.

SendKeys meetodil on kaks argumenti:

  • Klahvid - võti (võtmed), mille soovite rakendusele tekstina saata.
  • Oota (Valikuline)- See väärtus võib olla tõene või vale. Kui see on tõene, ootab Excel enne järgmise koodirea käivitamist, kuni võtmed töödeldakse esmalt. Kui see on vale, jätkab Excel protseduuri käivitamist, ootamata võtmete töötlemist.

SendKeysit kasutatakse tavaliselt teiste rakendustega suhtlemisel, kuna see on kiire ja lihtne viis ülesannete täitmiseks. Näiteks võite Internet Exploreri automatiseerimisel kasutada SendKeys.

Siiski peaksite SendKeys meetodi kasutamisel olema äärmiselt ettevaatlik, kuna sellel võivad olla ootamatud tulemused. Soovitame SendKeysit kasutada ainult viimase abinõuna ja/või kui vead on talutavad (või kergesti tuvastatavad).

VBA SendKeys näited

Iga klahvi tähistatakse tähtedega nende tähemärkidega, näiteks a on a.
Kui soovite kasutada klahve kombinatsioonis Ctrl, Shift või Alt, peate võtmekoodi ette kirjutama järgmisega:

Võti Kood
Ctrl ^
Vahetus +
Alt %

Järgmine kood kasutab töövihiku salvestamiseks SendKeys meetodit:

12345 Sub UsingSendKeys ()Application.SendKeys ("^s")End Sub

Nagu me varem mainisime, peate SendKeysi kasutamisel olema äärmiselt ettevaatlik. Järgmine kood määrab 10 sekundilise ooteaja enne teksti sisestamist/märkmikku saatmist. Oodates 10 sekundit, lubate Notepadil korralikult avaneda, vähendades tõrke tõenäosust.

Märkus. See kood kasutab rakendust. Oodake.

1234567 Sub UsingSendKeysWithWait ()Helista Shellile ("C: \ Windows \ system32 \ Notepad.Exe", vbNormalFocus)Application.Oota (praegu () + TimeValue ("00:00:10"))Helistage SendKeysile ("See on mingi tekst", tõsi)End Sub

Tulemus pärast 10 -sekundilist ooteaega on järgmine:

SendKeys võib olla äärmiselt kiire ja lihtne viis ülesannete täitmiseks. Vigade oht on aga suhteliselt suur. Kasutage SendKeys'i ainult siis, kui see risk on vastuvõetav!

wave wave wave wave wave