VBA SendKeys
VBA SendKeys -menetelmää käytetään näppäinpainallusten lähettämiseen aktiiviseen sovellukseen:
1 | Application.SendKeys ("s") |
Yllä oleva koodi jäljittelee näppäimistön "s" -näppäimen painamista.
SendKeys -menetelmässä on kaksi argumenttia:
- Näppäimet - Avaimet, jotka haluat lähettää sovellukselle tekstinä.
- Odota (Valinnainen)- Tämä arvo voi olla tosi tai epätosi. Jos True, Excel odottaa avainten käsittelyä ennen seuraavan koodirivin suorittamista. Jos epätosi, Excel jatkaa toimenpiteen suorittamista odottamatta avainten käsittelyä.
SendKeysiä käytetään yleensä vuorovaikutuksessa muiden sovellusten kanssa, koska se on nopea ja helppo tapa suorittaa tehtäviä. Voit esimerkiksi käyttää SendKeysiä Internet Explorerin automatisoinnissa.
Sinun on kuitenkin oltava erittäin varovainen käyttäessäsi SendKeys -menetelmää, koska sillä voi olla odottamattomia tuloksia. Suosittelemme SendKeysin käyttöä vain viimeisenä keinona ja/tai kun virheet ovat siedettävissä (tai helposti havaittavissa).
VBA SendKeys Esimerkkejä
Kukin kirjainten avain on merkitty niiden merkillä, esimerkiksi a on "a".
Jos haluat käyttää näppäimiä yhdessä Ctrl-, Shift- tai Alt -näppäinten kanssa, sinun on edeltettävä näppäinkoodia seuraavasti:
Avain | Koodi |
---|---|
Ctrl | ^ |
Siirtää | + |
Alt | % |
Seuraava koodi käyttää SendKeys -menetelmää työkirjan tallentamiseen:
12345 | Sub UsingSendKeys ()Application.SendKeys ("^s")End Sub |
Kuten aiemmin mainitsimme, sinun on oltava erittäin varovainen käyttäessäsi SendKeysiä. Seuraava koodi määrittää 10 sekunnin odotusajan, ennen kuin teksti syötetään/lähetetään Muistioon. Odottamalla 10 sekuntia annat Notepadille mahdollisuuden avautua kunnolla, mikä vähentää virheen mahdollisuutta.
Huomautus: Tämä koodi käyttää Application.Wait -menetelmää.
1234567 | Sub UsingSendKeysWithWait ()Soita Shellille ("C: \ Windows \ system32 \ Notepad.Exe", vbNormalFocus)Application.Wait (Nyt () + TimeValue ("00:00:10"))Soita SendKeysille ("This is Some Text", True)End Sub |
Tulos 10 sekunnin odotusajan jälkeen on:
SendKeys voi olla erittäin nopea ja helppo tapa suorittaa tehtäviä. Virheiden riski on kuitenkin suhteellisen suuri. Käytä SendKeysia vain, kun tämä riski on hyväksyttävä!