VBA SendKeys

VBA SendKeys

Metoda VBA SendKeys koristi se za slanje pritisaka na tipke aktivnoj aplikaciji:

1 Application.SendKeys ("s")

Gornji kôd će oponašati pritisak na tipku "s" na tipkovnici.

Metoda SendKeys ima dva argumenta:

  • Tipke - ključevi koje želite poslati aplikaciji kao tekst.
  • Čekaj (Opcionalno)- Ova vrijednost može biti Tačna ili Netačna. Ako je Tačno, Excel čeka prije obrade ključeva prije pokretanja sljedećeg retka koda. Ako je False, Excel nastavlja pokretati postupak bez čekanja da se ključevi obrade.

SendKeys se obično koristi pri interakciji s drugim aplikacijama jer je to brz i jednostavan način za izvršavanje zadataka. Na primjer, možete koristiti SendKeys pri automatizaciji Internet Explorera.

Međutim, trebali biste biti izuzetno oprezni pri korištenju metode SendKeys jer može imati neočekivane rezultate. Preporučujemo korištenje SendKeysa samo kao posljednje sredstvo i/ili kada su pogreške podnošljive (ili lako uočljive).

Primjeri VBA SendKeys

Svaki ključ u smislu slova predstavljen je svojim znakom, na primjer a je "a".
Ako želite koristiti tipke u kombinaciji s Ctrl, Shift ili Alt, morate ispred ključa unijeti sljedeće:

Ključ Kodirati
Ctrl ^
Pomicanje +
Alt %

Sljedeći kôd koristi metodu SendKeys za spremanje radne knjige:

12345 Pod PomoćuSendKeys ()Application.SendKeys ("^s")Kraj podm

Kao što smo već spomenuli, morate biti izuzetno oprezni pri korištenju SendKeysa. Sljedeći kôd navodi vrijeme čekanja od 10 sekundi prije unosa/slanja teksta u Notepad. Čekanjem 10 sekundi dopuštate Notepadu da se pravilno otvori, smanjujući mogućnost greške.

Napomena: Ovaj kôd koristi metodu Application.Wait.

1234567 Sub UsingSendKeysWithWait ()Call Shell ("C: \ Windows \ system32 \ Notepad.Exe", vbNormalFocus)Application.Wait (Now () + TimeValue ("00:00:10"))Pozovite SendKeys ("Ovo je neki tekst", istina)Kraj podm

Rezultat nakon 10 sekundi čekanja je:

SendKeys može biti iznimno brz i jednostavan način za izvršavanje zadataka. Međutim, rizik od pogrešaka relativno je velik. SendKeys koristite samo kada je rizik prihvatljiv!

wave wave wave wave wave