VBA SendKeys
Metoda VBA SendKeys se uporablja za pošiljanje pritiskov tipk v aktivno aplikacijo:
1 | Application.SendKeys ("s") |
Zgornja koda posnema pritisk tipke “s” na tipkovnici.
Metoda SendKeys ima dva argumenta:
- Ključi - ključi, ki jih želite poslati aplikaciji kot besedilo.
- Počakaj (Neobvezno)- Ta vrednost je lahko True ali False. Če je vrednost True, potem Excel počaka, da se ključi najprej obdelajo, preden zažene naslednjo vrstico kode. Če je False, Excel še naprej izvaja postopek, ne da bi čakal na obdelavo ključev.
SendKeys se običajno uporablja pri interakciji z drugimi aplikacijami, ker je hiter in enostaven način za izvajanje nalog. SendKeys lahko na primer uporabite pri avtomatizaciji Internet Explorerja.
Vendar morate biti pri uporabi metode SendKeys zelo previdni, saj ima lahko nepričakovane rezultate. SendKeys priporočamo le kot zadnjo možnost in/ali kadar so napake dopustne (ali jih je mogoče enostavno zaznati).
Primeri VBA SendKeys
Vsako tipko v smislu črk predstavlja njihov znak, na primer a je "a".
Če želite uporabiti tipke v kombinaciji s Ctrl, Shift ali Alt, morate pred kodo tipke postaviti naslednje:
Ključ | Koda |
---|---|
Ctrl | ^ |
Premik | + |
Nadomestni | % |
Naslednja koda uporablja metodo SendKeys za shranjevanje delovnega zvezka:
12345 | PodporaSendKeys ()Application.SendKeys ("^s")End Sub |
Kot smo že omenili, morate biti pri uporabi SendKeys zelo previdni. Naslednja koda določa čakalni čas 10 sekund, preden je besedilo vneseno/poslano v Beležnico. Če počakate 10 sekund, Notepadu omogočite, da se pravilno odpre, kar zmanjša možnost napake.
Opomba: Ta koda uporablja metodo Application.Wait.
1234567 | Sub UsingSendKeysWithWait ()Klicna lupina ("C: \ Windows \ system32 \ Notepad.Exe", vbNormalFocus)Application.Wait (Now () + TimeValue ("00:00:10"))Pokliči SendKeys ("To je nekaj besedila", res)End Sub |
Rezultat po 10 sekundah čakanja je:
SendKeys je lahko izjemno hiter in enostaven način za opravljanje nalog. Vendar je tveganje napak relativno veliko. SendKeys uporabljajte le, če je to tveganje sprejemljivo!