VBA SendKeys

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!

wave wave wave wave wave