Instruction SendKeys
Envoie une ou plusieurs séquences de touches vers la fenêtre active comme si elles avaient été tapées au clavier.
Syntaxe
Chaîne SendKeys, [ wait ]
La syntaxe de l'instruction SendKeys présente les arguments nommés suivants :
Élément | Description |
---|---|
chaîne | Obligatoire. Expression de chaîne spécifiant les séquences de touches à envoyer. |
wait | Facultatif. Valeur booléenne spécifiant le mode d'attente. Si la valeur est False (valeur par défaut), le contrôle revient à la procédure immédiatement après l'envoi des touches. Si la valeur est True, les séquences de touches doivent être traitées avant que le contrôle ne revienne à la procédure. |
Remarques
Chaque touche est représentée par un ou plusieurs caractères. Pour spécifier un seul caractère du clavier, utilisez ce caractère. Par exemple, pour représenter la lettre A, utilisez "A"
comme chaîne. Pour représenter plusieurs caractères, ajoutez chaque caractère supplémentaire au précédent. Pour représenter les lettres A, B et C, utilisez "ABC"
à la place de string.
Le signe plus (+), l'accent circonflexe (^), le signe pourcentage (%), le tilde (~) et les parenthèses ( ) ont une signification particulière dans l'instruction SendKeys. Pour spécifier l’un de ces caractères, placez-le entre accolades ({}
). Par exemple, pour spécifier le signe plus, utilisez {+}
.
SendKeys n'interprète pas les crochets ([ ]), mais vous devez tout de même les insérer entre accolades. Dans d'autres applications, les crochets ont une signification particulière lors d'un échange dynamique de données (DDE). Pour entrer des accolades, utilisez {{}
et {}}
.
Pour spécifier les caractères qui ne sont pas affichés lorsque vous appuyez sur une touche, telle que Entrée ou Tab, et les touches qui représentent des actions plutôt que des caractères, utilisez les codes du tableau suivant :
Clé | Code |
---|---|
Retour arrière |
{BACKSPACE} , {BS} ou {BKSP} |
Attn | {BREAK} |
Verr. maj | {CAPSLOCK} |
Suppr ou Suppression |
{DELETE} ou {DEL} |
Bas | {DOWN} |
Fin | {END} |
Entrée |
{ENTER} ou ~ |
Échap | {ESC} |
Aide | {HELP} |
Début | {HOME} |
Inser ou Insertion |
{INSERT} ou {INS} |
Gauche | {LEFT} |
Verr. num | {NUMLOCK} |
Pg. suiv | {PGDN} |
Pg. préc | {PGUP} |
Impr. écran | {PRTSC} |
Droite | {RIGHT} |
Arrêt défil | {SCROLLLOCK} |
Tab | {TAB} |
Haut | {UP} |
F1 | {F1} |
F2 | {F2} |
F3 | {F3} |
F4 | {F4} |
F5 | {F5} |
F6 | {F6} |
F7 | {F7} |
F8 | {F8} |
F9 | {F9} |
F10 | {F10} |
F11 | {F11} |
F12 | {F12} |
F13 | {F13} |
F14 | {F14} |
F15 | {F15} |
F16 | {F16} |
Pour spécifier des touches combinées avec Maj, Ctrl et Alt, faites précéder le code de la touche par un ou plusieurs des codes suivants :
Clé | Code |
---|---|
MAJ | + |
Ctrl | ^ |
Alt | % |
Pour indiquer qu'il faut maintenir enfoncées les touches Maj, Ctrl ou Alt, ou toute combinaison, pendant qu'on appuie sur plusieurs autres touches, insérez le code de ces touches entre parenthèses. Par exemple, pour spécifier de maintenir la touche Maj enfoncée lorsque les touches E et C sont enfoncées, utilisez +(EC)
.
Pour spécifier des clés répétées, utilisez le formulaire {key number}
. Vous devez placer un espace entre key
et number
. Par exemple, {LEFT 42}
signifie appuyer sur la touche Flèche gauche 42 fois ; {h 10}
signifie appuyer sur H 10 fois.
Remarque
Vous ne pouvez pas utiliser SendKeys pour envoyer des séquences de touches à une application qui n'est pas conçue pour fonctionner dans Microsoft Windows ou sur un ordinateur Macintosh.
Sendkeys ne peut pas non plus envoyer la touche Impr écran {PRTSC}
à une application, quelle qu'elle soit.
Exemple
Dans cet exemple, la fonction Shell permet de lancer l'application Calculatrice incluse dans Microsoft Windows. Il utilise l’instruction SendKeys pour envoyer des séquences de touches afin d’ajouter des nombres, puis de quitter la calculatrice. (Pour voir l’exemple, collez-le dans une procédure, puis exécutez la procédure. Étant donné que AppActivate met le focus sur l’application Calculatrice, vous ne pouvez pas effectuer une seule étape dans le code.)
Sur un Macintosh, utilisez une application Macintosh qui accepte la saisie au clavier plutôt que la calculatrice Windows.
Dim ReturnValue, I
ReturnValue = Shell("CALC.EXE", 1) ' Run Calculator.
AppActivate ReturnValue ' Activate the Calculator.
For I = 1 To 100 ' Set up counting loop.
SendKeys I & "{+}", True ' Send keystrokes to Calculator
Next I ' to add each value of I.
SendKeys "=", True ' Get grand total.
SendKeys "%{F4}", True ' Send ALT+F4 to close Calculator.
Voir aussi
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.