VBA SendKeys
VBA SendKeys -metoden brukes til å sende tastetrykk til det aktive programmet:
1 | Application.SendKeys ("s") |
Koden ovenfor vil etterligne å trykke "s" -tasten på tastaturet.
SendKeys -metoden tar to argumenter:
- Nøkler - nøklene du vil sende til programmet som tekst.
- Vente (Valgfri)- Denne verdien kan enten være True eller False. Hvis det er sant, venter Excel på at nøklene skal behandles først før du kjører den neste kodelinjen. Hvis False, fortsetter Excel å kjøre prosedyren uten å vente på at nøklene skal behandles.
SendKeys brukes vanligvis når du samhandler med andre applikasjoner fordi det er en rask og enkel måte å utføre oppgaver på. For eksempel kan du bruke SendKeys når du automatiserer Internet Explorer.
Du bør imidlertid være ekstremt forsiktig når du bruker SendKeys -metoden, siden det kan ha uventede resultater. Vi anbefaler å bruke SendKeys bare som en siste utvei og/eller når feil er akseptable (eller lett å oppdage).
Eksempler på VBA SendKeys
Hver nøkkel når det gjelder bokstaver er representert med karakteren deres, for eksempel a er "a".
Hvis du vil bruke nøkler i kombinasjon med Ctrl, Shift eller Alt, må du gå foran nøkkelkoden med følgende:
Nøkkel | Kode |
---|---|
Ctrl | ^ |
Skifte | + |
Alt | % |
Følgende kode bruker SendKeys -metoden for å lagre arbeidsboken:
12345 | Sub UsingSendKeys ()Application.SendKeys ("^s")Slutt Sub |
Som vi nevnte før, må du være ekstremt forsiktig når du bruker SendKeys. Følgende kode angir en ventetid på 10 sekunder før teksten skrives inn/sendes til Notisblokk. Ved å vente i 10 sekunder tillater du Notisblokk en sjanse til å åpne ordentlig, noe som reduserer sjansen for en feil.
Merk: Denne koden bruker Application.Wait -metoden.
1234567 | Sub UsingSendKeysWithWait ()Call Shell ("C: \ Windows \ system32 \ Notepad.Exe", vbNormalFocus)Application.Wait (Now () + TimeValue ("00:00:10"))Ring SendKeys ("This is Some Text", True)Slutt Sub |
Resultatet etter 10 sekunders ventetid er:
SendKeys kan være en ekstremt rask og enkel måte å utføre oppgaver på. Risikoen for feil er imidlertid relativt høy. Bruk bare SendKeys når den risikoen er akseptabel!