SendKeys, instructionSendKeys statement

Envoie une ou plusieurs séquences de touches vers la fenêtre active comme si elles avaient été tapées au clavier.Sends one or more keystrokes to the active window as if typed at the keyboard.

SyntaxeSyntax

SendKeys chaîne, [ Wait ]SendKeys string, [ wait ]


La syntaxe de l'instruction SendKeys présente les arguments nommés suivants :The SendKeys statement syntax has these named arguments:

ÉlémentPart DescriptionDescription
chaînestring Obligatoire.Required. Expression de chaîne spécifiant les séquences de touches à envoyer.String expression specifying the keystrokes to send.
waitwait Facultatif.Optional. Valeur booléenne spécifiant le mode d'attente.Boolean value specifying the wait mode. Si la valeur est False (valeur par défaut), le contrôle revient à la procédure immédiatement après l'envoi des touches.If False (default), control is returned to the procedure immediately after the keys are sent. Si la valeur est True, les séquences de touches doivent être traitées avant que le contrôle ne revienne à la procédure.If True, keystrokes must be processed before control is returned to the procedure.

RemarquesRemarks

Chaque touche est représentée par un ou plusieurs caractères.Each key is represented by one or more characters. Pour spécifier un seul caractère du clavier, utilisez ce caractère.To specify a single keyboard character, use the character itself. Par exemple, pour représenter la lettre A, utilisez "A" pour String.For example, to represent the letter A, use "A" for string. Pour représenter plusieurs caractères, ajoutez chaque caractère supplémentaire au précédent.To represent more than one character, append each additional character to the one preceding it. Pour représenter les lettres A, B et C, utilisez "ABC" à la place de string.To represent the letters A, B, and C, use "ABC" for string.

Le signe plus (+), Caret (^), le signe pourcentage**%(), le~** tilde () et les parenthèses () ont une signification spéciale pour SendKeys.The plus sign (+), caret (^), percent sign (%), tilde (~), and parentheses ( ) have special meanings to SendKeys. Pour spécifier l’un de ces caractères, mettez-le entre accolades ({}).To specify one of these characters, enclose it within braces ({}). Par exemple, pour spécifier le signe plus, utilisez {+}.For example, to specify the plus sign, use {+}.

SendKeys n'interprète pas les crochets ([ ]), mais vous devez tout de même les insérer entre accolades.Brackets ([ ]) have no special meaning to SendKeys, but you must enclose them in braces. Dans d'autres applications, les crochets ont une signification particulière lors d'un échange dynamique de données (DDE).In other applications, brackets do have a special meaning that may be significant when dynamic data exchange (DDE) occurs. Pour entrer des accolades, utilisez {{} et {}}.To specify brace characters, use {{} and {}}.

Pour spécifier des caractères qui ne s’affichent pas lorsque vous appuyez sur une touche, comme entrée ou TAB, et des touches représentant des actions plutôt que des caractères, utilisez les codes du tableau suivant:To specify characters that aren't displayed when you press a key, such as ENTER or TAB, and keys that represent actions rather than characters, use the codes in the following table:

CléKey CodeCode
Retour arrièreBACKSPACE {BACKSPACE}, {BS}ou{BKSP}{BACKSPACE}, {BS}, or {BKSP}
AttnBREAK {BREAK}
Verr. majCAPS LOCK {CAPSLOCK}
Suppr ou SuppressionDEL or DELETE {DELETE} ou {DEL}{DELETE} or {DEL}
BasDOWN ARROW {DOWN}
FinEND {END}
EntréeENTER {ENTER} ou ~{ENTER} or ~
ÉchapESC {ESC}
AideHELP {HELP}
DébutHOME {HOME}
Inser ou InsertionINS or INSERT {INSERT} ou {INS}{INSERT} or {INS}
GaucheLEFT ARROW {LEFT}
Verr. numNUM LOCK {NUMLOCK}
Pg. suivPAGE DOWN {PGDN}
Pg. précPAGE UP {PGUP}
Impr. écranPRINT SCREEN {PRTSC}
DroiteRIGHT ARROW {RIGHT}
Arrêt défilSCROLL LOCK {SCROLLLOCK}
TabTAB {TAB}
HautUP ARROW {UP}
F1F1 {F1}
FF2 {F2}
F3F3 {F3}
F4F4 {F4}
F5F5 {F5}
6F6 {F6}
Maj+F7F7 {F7}
Maj+F8F8 {F8}
$F9 {F9}
F10F10 {F10}
F11F11 {F11}
AppuyerF12 {F12}
F13F13 {F13}
F14F14 {F14}
F15F15 {F15}
F16F16 {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 :To specify keys combined with any combination of the SHIFT, CTRL, and ALT keys, precede the key code with one or more of the following codes:

CléKey CodeCode
MajSHIFT +
CtrlCTRL ^
AltALT %

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.To specify that any combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, enclose the code for those keys in parentheses. Par exemple, pour spécifier que l’utilisateur doit maintenir la touche Maj enfoncée pendant +(EC)que les touches E et C sont enfoncées, utilisez.For example, to specify to hold down SHIFT while E and C are pressed, use +(EC).

Pour spécifier des touches répétitives, utilisez le {key number}formulaire.To specify repeating keys, use the form {key number}. Vous devez placer un espace entre key et number.You must put a space between key and number. Par exemple, {LEFT 42} indique que vous appuyez sur la flèche gauche 42 fois; {h 10} signifie que vous appuyez sur la touche H 10 fois.For example, {LEFT 42} means press the LEFT ARROW key 42 times; {h 10} means press H 10 times.

Notes

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.You can't use SendKeys to send keystrokes to an application that is not designed to run in Microsoft Windows or Macintosh. Sendkeys ne peut pas non plus envoyer la touche Impr écran {PRTSC} à une application, quelle qu'elle soit.Sendkeys also can't send the PRINT SCREEN key {PRTSC} to any application.

ExempleExample

Dans cet exemple, la fonction Shell permet de lancer l'application Calculatrice incluse dans Microsoft Windows.This example uses the Shell function to run the Calculator application included with Microsoft Windows. Il utilise l’instruction SendKeys pour envoyer des séquences de touches pour ajouter des nombres, puis quitter la calculatrice.It uses the SendKeys statement to send keystrokes to add some numbers and then quit the Calculator. (Pour voir l’exemple, collez-le dans une procédure, puis exécutez la procédure.(To see the example, paste it into a procedure, and then run the procedure. Étant donné que AppActivate change le focus vers l’application Calculatrice, vous ne pouvez pas parcourir le code.Because AppActivate changes the focus to the Calculator application, you can't single step through the code.)

Sur un Macintosh, utilisez une application Macintosh qui accepte la saisie au clavier plutôt que la calculatrice Windows.On the Macintosh, use a Macintosh application that accepts keyboard input instead of the Windows Calculator.

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 aussiSee also

Assistance et commentairesSupport and feedback

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ?Have questions or feedback about Office VBA or this 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.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.