Pilotage d'un .exe Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
s
samestoy
Jeune membre
Jeune membre
Messages : 35
Inscrit le : 8 septembre 2013
Version d'Excel : 2007

Message par samestoy » 13 juin 2016, 19:43

Bonjour,

Dans le cadre d'une application pro, je souhaiterais prendre le contrôle d'un programme tiers le temps d'extraire une base de données en csv.

J'ai parcouru un peu le web et il me semble qu'il doit être possible de faire ça en utilisant les fonctions shell, private declare function, sendmessage pour ourir le .exe et simuler des pressions de touches ou envoyer des instructions.


Problème : je suis débutant en vba et je n'y comprend pas grand chose...

Pourriez-vous m'aider ?

Je propose un exemple reproductible pour à peu près tout le monde : comment ouvrir word, tapper alt, s, y et entrée (ce qui a pour effet d'insérer un Ø), puis continuer l'exécution du code.

Merci par avance pour votre aide !
p
pierre.jy
Membre fidèle
Membre fidèle
Messages : 499
Appréciation reçue : 1
Inscrit le : 26 février 2016
Version d'Excel : 2010

Message par pierre.jy » 13 juin 2016, 20:08

Bonjour,

il vas falloir nous dire de quel exe il s'agit .... tu parle de MSword , ci c'est Word celas seras facile en automation .. mais si ce n'est pas MSWord , cela dépends de ton programme.
s
samestoy
Jeune membre
Jeune membre
Messages : 35
Inscrit le : 8 septembre 2013
Version d'Excel : 2007

Message par samestoy » 13 juin 2016, 20:11

Il s'agit d'un programme développé par mon entreprise pour elle-même donc a n'aide pas beaucoup.

Le fait de pouvoir l'exécuter et appuyer sur des touches devrait être suffisant pour l'usage que je veux en faire.

Merci
g
guigui72
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 13 juin 2016
Version d'Excel : 2010

Message par guigui72 » 13 juin 2016, 21:30

C'est impossible
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'710
Appréciations reçues : 446
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 13 juin 2016, 22:43

Bonjour,

Bien que je n'aime pas trop Senkeys, des fois il n'y a pas trop le choix :
Sub test()
    Dim ID As Long
    'ID = Shell("C:\WINDOWS\NOTEPAD.EXE", 1) ' si l'appli est mal déclarée indiquer le chemin
    ID = Shell("NOTEPAD.EXE", 1)
    If IsError(ID) Then
        MsgBox "Y'a un os..."
    Else
        SendKeys "Bonjour" & "{ENTER}", True
        ' Alt+s puis y puis Entrée
        SendKeys "%sy{ENTER}", True
    End If
End Sub
J'ai pris notepad, tout le monde a le même chemin
F1 sur SendKeys pour avoir les codes des touches
Parfois il envoyer certaines touches, faire une tempo le temps que l'appli traite et envoyer le reste
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message