IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Discussion :

Utilisation de SendKeys VBA sur une application Unix affichée sous Windows


Sujet :

VBA

  1. #1
    Membre régulier
    Inscrit en
    Mai 2010
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 100
    Points : 95
    Points
    95
    Par défaut Utilisation de SendKeys VBA sur une application Unix affichée sous Windows
    Bonjour,

    Suite à la résolution de la question posée dans ce message, je veux envoyer un "3" suivi de la touche Entrée grâce au code ci-après

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendKeys "3" & "{ENTER}", True
    L'application extérieure réceptionne et affiche les caractères cabalistiques suivants : ^[^[

    En fait, en consultant l'aide sur l'instruction SendKeys, il est dit qu'elle ne peut envoyer de touches à une application qui n'est pas conçue pour être exécutée dans l'environnement Microsoft Windows.
    Or l'application que j'essaie de manipuler doit être, je crois, en UNIX et elle s'affiche dans une fenêtre windows certainement à travers un quelconque émulateur.

    Alors quelle ruse puis-je utiliser pour envoyer des commandes à cette application ? Y a-t-il des APIs qui simulent des actions sur des touches ?

    merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    salut,
    est-ce que l'alternative evoquee dans cette discussion te conviendrait ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre régulier
    Inscrit en
    Mai 2010
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 100
    Points : 95
    Points
    95
    Par défaut keybd_event
    Je suis tombé par hasard sur l'API keybd_event.
    Ca marche.
    Mais je me "casse encore le trognon" sur des problèmes de temps de réponse de l'appli externe qui n'en fait qu'à sa tête.
    J'ai mis des tempos mais lorsque le temps de réponse (lenteur du réseau) est trop important, ça plante mon processus.
    Je ne sais pas trop comment gérer cela.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    es-tu sur des problematiques type temps reel ?

    Si un process de recuperation de donnees mets 30 secondes ce n'est pas non plus incompatible avec le reste des taches.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre régulier
    Inscrit en
    Mai 2010
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 100
    Points : 95
    Points
    95
    Par défaut
    Je ne sais pas ce que tu entends par "problématique type temps réel".

    J'ouvre une application non Microsoft dans une fenêtre windows.
    Pour la piloter je lui envoie des codes touches via keybd_event.
    J'attends ensuite qu'elle m'affiche le résultat demandé pour pouvoir le capter et le transférer dans mon appli Excel.

    Le problème est que le temps de réponse peut être rapide mais aussi très long, suivant l'humeur de mon réseau. Cela rend difficile l'automatisation du processus.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    En fait quand j'entends temps reel, je parle de problematique ou tes temps de reponses doivent etre tres rapides, avec des rafraichissements toutes les 5 secondes par exemple.

    S'il s'agit d'un traitement pepere, on a moins de besoin d'optimisation
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Membre régulier
    Inscrit en
    Mai 2010
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 100
    Points : 95
    Points
    95
    Par défaut
    OK. Alors dans mon cas il ne s'agit pas de temps réel.
    Toutefois je ne peux décemment pas coller une tempo de deux minutes entre chaque échange pour être sûr que cela passe.
    Existe-t-il un moyen pour que l'appli externe signale à Excel qu'elle est prête, que sa mise à jour est faite ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/07/2014, 08h58
  2. Réponses: 5
    Dernier message: 25/04/2012, 16h06
  3. Alarme sur une application/processus planté sous XP ?
    Par Gaël06 dans le forum Windows XP
    Réponses: 2
    Dernier message: 24/03/2011, 09h25
  4. Réponses: 1
    Dernier message: 22/10/2009, 12h51
  5. comment l'instance d'une application est reperée sous Windows
    Par Chatbour dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 14/07/2007, 12h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo