Sendkeys ??????

vinsus51 Messages postés 39 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 7 juin 2013 - 13 mai 2004 à 15:36
wapityyy Messages postés 2 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 15 juillet 2005 - 15 juil. 2005 à 02:31
j'ouvre une application .exe depui mon programme et je souhaiterai envoyer quelques commandes:

sendkeys "clic gauche de la souris"
sendkeys "selectionner tout"
sendkeys "control C"
sendkeys "control V"

Merci de m'aider c bien gentil car c tres urgent

Vinsus (b)
A voir également:

4 réponses

cs_Lolote Messages postés 4 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 6 février 2006
13 mai 2004 à 15:56
Voici quelques explications concernant la commande SendKeys mais rien n'explique la commande Clic gauche de la souris.
A toute fin utile, je te donne ce que j'ai.

En VBA, il est possible par macro d’envoyer une combinaison de touche à l’ordinateur comme si l’utilisateur venait à ce servir du clavier.

SendKeys, instruction
Envoie une ou plusieurs touches à la fenêtre active comme s'il s'agissait d'une saisie directe au clavier.
Syntaxe
SendKeys string[, wait]
La syntaxe de l'instruction SendKeys comprend les arguments nommés suivants :
Élément Description
string Expression de chaîne indiquant la ou les touches à envoyer.
wait Facultatif. Valeur de type Boolean indiquant le mode d'attente. Si la valeur est False (valeur par défaut), la procédure reprend le contrôle dès que les touches sont envoyées. Si la valeur est True, les touches doivent être traitées avant que la procédure ne reprenne le contrôle.

Remarques
Chaque touche est représentée par un ou plusieurs caractères. Pour indiquer un seul caractère du clavier, utilisez le caractère proprement dit. Par exemple, pour représenter la lettre A, affectez à l'argument string la valeur "A". Si vous souhaitez représenter plusieurs caractères, il vous suffit d'ajouter les caractères les uns à la suite des autres. Par exemple, pour représenter les lettres A, B et C, affectez la valeur "ABC" à l'argument string.
L'instruction SendKeys attribue une signification spéciale au signe plus (+), au signe insertion (^), au signe pourcentage (%), au tilde (~) et aux parenthèses ( ). Pour indiquer l'un de ces caractères, placez-le entre accolades ({}). Par exemple, pour indiquer le signe plus, tapez {+}. Bien que les crochets droits ([ ]) n'aient aucune signification particulière dans l'instruction SendKeys, vous devez les placer eux aussi entre accolades. En effet, dans d'autres applications, ils ont une signification spéciale à prendre en compte en cas d'échange dynamique de données (DDE). Pour indiquer des accolades, utilisez les caractères {{} et {}}.
Pour indiquer des caractères qui n'apparaissent pas à l'écran lorsque vous appuyez sur une touche (comme la touche ENTRÉE ou TAB) et des touches qui représentent des actions plutôt que des caractères, employez les codes suivants :
Key Code
RET.ARR {BACKSPACE}, {BS} ou {BKSP}
ATTN {BREAK}
VERR.MAJ {CAPSLOCK}
SUPPR {DELETE} ou {DEL}
BAS {DOWN}
FIN {END}
ENTRÉE {ENTER}ou ~
ÉCHAP {ESC}
AIDE {HELP}
ORIGINE {HOME}
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 indiquer une combinaison de touches avec MAJ, CTRL et ALT, faites précéder le code normal de la touche d'un ou plusieurs codes parmi les suivants :
Touche Code
MAJ +
CTRL ^
ALT %

Pour indiquer que les touches MAJ, CTRL et ALT doivent être maintenues enfoncées pendant que d'autres touches sont utilisées, mettez le code des touches entre parenthèses. Par exemple, pour que la touche MAJ soit maintenue enfoncée pendant que les touches E et C sont utilisées, indiquez "+(EC)". Pour que la touche MAJ soit maintenue enfoncée en même temps que la touche E et que l'utilisateur appuie ensuite sur la touche C sans enfoncer la touche MAJ, utilisez "+EC".
Pour indiquer qu'une touche doit être répétée, employez la forme {touche nombre}, sans oublier d'insérer un espace entre touche et nombre. Par exemple, {LEFT 42} signifie que la touche GAUCHE doit être enfoncée 42 fois et {h 10} qu'il faut appuyer 10 fois sur la touche H.
Note L'instruction SendKeys ne peut envoyer de touches à une application qui n'est pas conçue pour être exécutée dans l'environnement Microsoft Windows. L'instruction Sendkeys ne peut pas non plus envoyer la touche IMP. ÉCRAN {PRTSC} aux applications.

SendKeys, instruction, exemple
Cet exemple utilise la fonction Shell pour exécuter l'application Calculatrice fournie avec Microsoft Windows. Il utilise ensuite l'instruction SendKeys pour envoyer des frappes de touches destinées à ajouter des nombres, puis à quitter la Calculatrice. (Pour afficher l'exemple, collez le code ci-dessous dans une procédure puis exécutez cette dernière. Dans la mesure où l'instruction AppActivate transfère le focus vers l'application Calculatrice, il n'est pas possible d'exécuter le code pas à pas).

Dim ReturnValue, I
ReturnValue = Shell("CALC.EXE", 1) ' Exécute l'application Calculatrice.
AppActivate ReturnValue ' Active l'application Calculatrice.
For I = 1 To 100 ' Configure la boucle de comptage.
SendKeys I & "{+}", True ' Envoie des frappes de touches
Next I ' à l'application Calculatrice pour
' ajouter chaque valeur de I.
SendKeys "=", True ' Fait le total général.
SendKeys "%{F4}", True ' Envoie la combinaison ALT+F4 pour fermer
' l'application Calculatrice.

LOLOTE[blue]
0
Rejoignez-nous