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

Macros et VBA Excel Discussion :

[VBA-E] executer un fichier exe


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut [VBA-E] executer un fichier exe
    bonjour je voudrais savoir est ce qu'il est possible de lanncer un fichier exe a partir du code !!!
    et si on arrive a le lancer est ce que je peux savoir quand est ce que ce programme arrete de s'executer histoire de pouvoir recuperer les fichier qu'il cree

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Commençons par le commencement !
    1 = lancer :

    Shell (dans aide en ligne)
    reviens avec ton bout de code en résultant...3

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    ok merci ca marche le shell
    j'ai fais un shell("D:\code\102\a.exe")
    le programme ne recupere pas d'argument mais est ce qu'il est possible de savoir quand le prog est terminé?

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Voilà !
    On passe à la deuxième étape !
    On va avoir besoin de toi : Comment sais-tu, lorsque tu le lances manuellement, qu'il est terminé (autrement que par ce qu'il affiche dans sa fenêtre, car celà n'est pas "captable") ?

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    je ne sais pas je le remarque a l'occupation du processeur
    cependant ce programme est un truc codé en C qui renvoit un EXIT_SUCCESS
    je ne sais pas si c'est un signal qui est detectable ou pas

  6. #6
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Il est pourtant nécessaire de le savoir (à moins de mouiller son doigt et de le mettre au vent... mais ce n'est pas une méthode, çà !...)
    Ton appli n'a pas d'yeux ! En conséquence : à moins de lui "dire" ce qu'elle doit lire et où elle doit le lire, elle ne peut le deviner !

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    ah oui aussi il renvoie trois fichiers
    donc pendant qu'il est en trian de tourner ils ne sont pas modifiables
    je ne sais pas si on peut lui dire tu voit toutes les 10 sec les droits de ce fichier et s'ils sont modifiables tu enchaine la suite ... enfin c'est juste une idee je ne sais pas commment la mettre en oeuvre

  8. #8
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Tu peux, avec un timer et l'utilisation de l'instruction Open For...
    Sans rien faire dedans...
    Tant que le fichier concerné n'est pas accessible, le open for générera une erreur à gérer dans une boucle...
    Voir la gestion des erreurs dans l'aide en ligne (fastoche)

    Tu peux également mettre en mémoire l'heure de lancement de ton exe et contrôler périodiquement (timer) que l'heure de modification des fichiers modifiés ou créés est supérieure à l'heure de départ).

    EDIT :
    Pour connaître les dates et heures de création, modification, etc... d'un fichier :
    http://vb.developpez.com/faq/?page=F...#dates_fichier

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    est ce que tu peux m'aider pour l'utilisation du timer??
    et comment est ce que je fais pour recuperer les heures de modification des fichiers

  10. #10
    Membre éclairé
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Points : 854
    Points
    854
    Par défaut
    Tu peux aussi, toujours à l'aide du timer, scruter le processus de l'exécutable. Il y a des exemples sur le forum montrant comment repérer un processus. Fais une recherche sur WMI.

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    bon voila j'ai trouve une solution
    ca donne ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    taillefic = FileLen(strfichier2)
    taillefic2 = taillefic + 10
    While taillefic < taillefic2
        taillefic = FileLen(strfichier2)
        newHour = Hour(Now())
        newMinute = Minute(Now())
        newSecond = Second(Now()) + 5
        waitTime = TimeSerial(newHour, newMinute, newSecond)
        Application.Wait waitTime
        taillefic2 = FileLen(strfichier2)
    Wend
    Merci tout le monde sur ce super forum... comme vous voyez ca fait pas longtemps que je suis la

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/09/2012, 16h17
  2. [SP-2007] Executer un fichier .exe ou .bat depuis une webpart de type listes
    Par samuelf87 dans le forum SharePoint
    Réponses: 3
    Dernier message: 19/01/2011, 11h17
  3. [Système] execution d'un fichier .exe
    Par klemellill dans le forum Langage
    Réponses: 8
    Dernier message: 01/12/2006, 17h56
  4. Réponses: 1
    Dernier message: 20/11/2006, 14h04
  5. [VBA-E] ouvrir un fichier .xls sans executer les macro
    Par lae_t2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/01/2003, 17h07

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