Tasti di invio VBA

Tasti di invio VBA

Il metodo VBA SendKeys viene utilizzato per inviare sequenze di tasti all'applicazione attiva:

1 Application.SendKeys ("s")

Il codice sopra imiterà la pressione del tasto "s" sulla tastiera.

Il metodo SendKeys accetta due argomenti:

  • Chiavi - Le chiavi che si desidera inviare all'applicazione come testo.
  • Aspettare (Opzionale)- Questo valore può essere True o False. Se True, Excel attende l'elaborazione delle chiavi prima di eseguire la riga di codice successiva. Se False, Excel continua a eseguire la procedura senza attendere l'elaborazione delle chiavi.

SendKeys viene solitamente utilizzato quando si interagisce con altre applicazioni perché è un modo semplice e veloce per eseguire attività. Ad esempio, potresti utilizzare SendKeys durante l'automazione di Internet Explorer.

Tuttavia, dovresti essere estremamente attento quando usi il metodo SendKeys poiché può avere risultati imprevisti. Si consiglia di utilizzare SendKeys solo come ultima risorsa e/o quando gli errori sono tollerabili (o facilmente rilevabili).

Esempi di tasti di invio VBA

Ogni tasto in termini di lettere è rappresentato dal loro carattere, ad esempio a è "a".
Se desideri utilizzare i tasti in combinazione con Ctrl, Shift o Alt, devi anteporre al codice del tasto quanto segue:

Chiave Codice
Ctrl ^
Spostare +
Alt %

Il codice seguente usa il metodo SendKeys per salvare la cartella di lavoro:

12345 Sub UsingSendKeys()Application.SendKeys ("^s")Fine sottotitolo

Come accennato in precedenza, devi essere estremamente attento quando usi SendKeys. Il codice seguente specifica un tempo di attesa di 10 secondi prima che il testo venga inserito/inviato a Blocco note. Attendendo 10 secondi, consenti a Blocco note di aprirsi correttamente, riducendo la possibilità di un errore.

Nota: questo codice utilizza il metodo Application.Wait.

1234567 Sub UsingSendKeysWithWait()Call Shell("C:\Windows\system32\Notepad.Exe", vbNormalFocus)Application.Wait (Now() + TimeValue("00:00:10"))Chiama SendKeys("Questo è un testo", True)Fine sottotitolo

Il risultato dopo 10 secondi di attesa è:

SendKeys può essere un modo estremamente rapido e semplice per eseguire attività. Tuttavia, i rischi di errore sono relativamente elevati. Usa SendKeys solo quando quel rischio è accettabile!

wave wave wave wave wave