VBA SendKeys

VBA SendKeys

Metoda VBA SendKeys este utilizată pentru a trimite apăsări de taste către aplicația activă:

1 Application.SendKeys („s”)

Codul de mai sus va imita apăsarea tastei „s” de pe tastatură.

Metoda SendKeys ia două argumente:

  • Taste - Tasta (tastele) pe care doriți să le trimiteți aplicației sub formă de text.
  • Aștepta (Opțional)- Această valoare poate fi adevărată sau falsă. Dacă este adevărat, atunci Excel așteaptă ca tastele să fie procesate mai întâi înainte de a rula următoarea linie de cod. Dacă este fals, atunci Excel continuă să ruleze procedura fără să aștepte procesarea cheilor.

SendKeys este de obicei folosit atunci când interacționați cu alte aplicații, deoarece este un mod rapid și ușor de a îndeplini sarcini. De exemplu, puteți utiliza SendKeys atunci când automatizați Internet Explorer.

Cu toate acestea, ar trebui să fiți extrem de atent atunci când utilizați metoda SendKeys, deoarece poate avea rezultate neașteptate. Vă recomandăm să utilizați SendKeys numai ca ultimă soluție și / sau atunci când greșelile sunt tolerabile (sau ușor de detectat).

Exemple VBA SendKeys

Fiecare cheie în termeni de litere este reprezentată de caracterul lor, de exemplu a este „a”.
Dacă doriți să utilizați tastele în combinație cu Ctrl, Shift sau Alt, atunci trebuie să precedeți codul cheii cu următoarele:

Cheie Cod
Ctrl ^
Schimb +
Alt %

Următorul cod folosește metoda SendKeys pentru a salva registrul de lucru:

12345 Sub folosind SendKeys ()Application.SendKeys ("s")Sfârșitul Sub

După cum am menționat anterior, trebuie să fiți extrem de atenți atunci când utilizați SendKeys. Următorul cod specifică un timp de așteptare de 10 secunde înainte ca textul să fie introdus / trimis către Notepad. Așteptând 10 secunde, permiteți Notepad-ului să se deschidă corect, reducând șansele unei erori.

Notă: Acest cod folosește Metoda Application.Wait.

1234567 Utilizarea secundară SendKeysWithWait ()Apelați Shell („C: \ Windows \ system32 \ Notepad.Exe”, vbNormalFocus)Aplicație. Așteptați (Now () + TimeValue ("00:00:10"))Apelați SendKeys („Acesta este un text”, adevărat)Sfârșitul Sub

Rezultatul după 10 secunde de timp de așteptare este:

SendKeys poate fi o modalitate extrem de rapidă și ușoară de a îndeplini sarcini. Cu toate acestea, riscurile de erori sunt relativ ridicate. Folosiți SendKeys numai atunci când acest risc este acceptabil!

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave