problème avec SendKeys pour envoyer un pipe "|" vers Putty [EXCEL] - VB/VBA/VBS - Programmation
Marsh Posté le 19-03-2015 à 15:34:56
Je viens de tester ceci
SendKeys " Test " & ChrW(&H7C) & Chr(124) & " TEST 2"
Ce qui affiche
Routeur# Test TEST 2
Les espaces de " Test " et de " TEST 2" sont bien présents.
Mais rien entre les deux.
J'aurais écrit
SendKeys " Test TEST 2"
Cela n'aurait rien changé.
Marsh Posté le 19-03-2015 à 16:34:02
Bonjour,
tenter avec l'ActiveX CreateObject("WScript.Shell" ).SendKeys, sait-on jamais …
________________________________________________________________________
Je suis Charlie - Je suis Bardo
Marsh Posté le 20-03-2015 à 10:05:14
Bonjour,
Merci de ton retour.
J'ai testé ... sans succès.
Marsh Posté le 20-03-2015 à 10:26:40
Bon, on avance, on avance.
Le problème ne se situe pas uniquement sur le pipe, mais sur tous les caractères qui nécessitent l'appuie de la touche ALT-Gr.
Voila ce que donne la ligne
SendKeys " Test " & ChrW(&O123) & Chr(&O124) & ChrW(&O125) & Chr(&O126)
Test STUV
Alors que la correspondance ASCII est la suivante
123 = {
124 = |
125 = }
126 = ~
Marsh Posté le 20-03-2015 à 10:28:41
En remplaçant la ligne
SendKeys " Test " & ChrW(&O123) & Chr(&O124) & ChrW(&O125) & Chr(&O126)
qui affiche " Test STUV"
par
SendKeys " Test " & Chr(123) & Chr(124) & Chr(125) & Chr(126)
Elle n'affiche que " Test"
Marsh Posté le 20-03-2015 à 15:12:06
Bon j'ai trouvé.
Après le dernier test (ci-dessus), je me suis dit qu'il était temps d'écarter VBA.
Le pb était sur une option de Putty.
Marsh Posté le 19-03-2015 à 14:56:25
Bonjour,
J'ai une feuille Excel dans laquelle se trouve une macro qui teste la connexion à un routeur à partir d'une adresse IP donnée et en utilisant Putty.
Sur ce point, il n'y a aucun problème.
Le problème se situe au niveau de la transcription du "|" (pipe).
On test la commande suivante
sh ip route vrf ma_vrf | i le_réseau_à_tester
Malheureusement, la commande SendKeys ignore/élimine le |.
Nous avons tester plusieurs syntaxe
Pour chr(124) (qui correspond au code ASCII 124, soit le |), nous avons tester chr(124), chr$(124), chrw(124), etc...
Les résultats étant parfois très étonnant, de RIEN, à un espace, en passant par des g ou des 1.
Nous avons ensuite testé avec SendKeys "% (124)", SendKeys {ALT(124)}, etc...
au pire, rien ne s'affiche, au mieux, "24".
On trouve plus de solution et cela bloque un peu le projet (automatisation du contrôle)
S'il vous faut le code complet, pas de pb
Merci d'avance pour votre aide.