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 :

Executer une application avec paramètres


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Executer une application avec paramètres
    Bonjour
    Je cherche à executer un programme recevant un paramètre dans une macro excel.
    J'ai la source de l'application, donc je peux la modifier pour qu'elle accèpte des paramètres de type -param ou /param.

    Sous dos, la commande (qui fonctionne) ressemble à ça :
    J'ai essayé sans succès cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call Shell(my_path & "my_exe" & " my_file.dat")
    Rien ne se passe, pourtant si j'enleve le paramètre l'exe se lance.
    J'ai essayé également :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell """D:\Travail\my_exe.exe"" "" my_file""", vbMaximizedFocus
    Le programme se lance et se ferme aussitôt, il ne reconnait pas le paramètre.

    J'ai tenté également :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell(cmd, "D:\Travail\my_exe.exe my_file.dat")
    Mais si cmd se lance, le paramètre ne passe pas, ni le chemin.
    (Et puis j'aime moins cette solution que je trouve moins 'élégante'.)

    Comment faire, s'il vous plait?

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    J'en vois un que tu n'as pas essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "cmd /c D:\Travail\my_exe.exe my_file.dat"
    L'appli que tu lances tourne-t-elle sous windows ?
    A+

    Edit
    Testé avec NotePad
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call Shell("cmd /c c:\windows\Notepad.exe c:\ascii.txt")
    Correction du premier post : Avec Shell, pas de parenthèse

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonsoir,
    Bonsoir Ousk
    Je reviendrais sur un poste précédant où je conseillais de lier l'exe avec l'extention (Dans Windows)
    et où l'appel se faisait uniquement par le Nom du fichier AVEC L'extention et que cela avait marché.
    A+

  4. #4
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci Ousk,
    J'apprecie le smiley, car je comprend que tu devines que j'ai déja essayé. (en fait je suis pas loin d'avoir "tout" essayé)

    J'y arrive aussi avec Notepad, c'est marrant car le seul exemple fourni par MS.

    LeForestier > Impossible de lier l'exe avec l'extension.
    Car c'est pour des extensions '.dat' , pour des convertions de BDD excel vers d'autres formats, que ça s'adresse à des chercheurs qui ne savent pas "tuner" windows, et puis je ne me vois pas demander ça à 200 chercheurs...

    C'est possible ou pas? Parce que je viens d'ecrire une appli en fortran sans imaginer que le VBA ne pouvait pas la lancer...

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Et si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "cmd /c D:\Travail\my_exe.exe " & Chemin & "\" & NomFich & ""
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Code = "cmd /c D:\Travail\my_exe.exe " & Chemin & "\" & NomFich & ""
    Shell code
    J'ai encore plein d'idées
    A+

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Points : 72
    Points
    72
    Par défaut
    C'est un peu le meme style alors je pose mon probleme ici.

    J'ai downloade un freeware qui me permet de copie coller le texte d'un PDF qui a ete verouille.

    Le racourci d'un fichier CMD a ete cree sur mon bureau, le fichier CMD contient ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off 
    echo.
    echo.
    echo    This may take a minute, please wait.
    echo.
    echo.
    echo.
    echo.
    set ttt=%1
    set tt=%ttt:~0,-5%
    gswin32c  -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite  -sFONTPATH=%windir%/fonts;xfonts;. -sPDFPassword= -dPDFSETTINGS=/prepress -dPassThroughJPEGImages=true -sOutputFile=%tt%_noPW.pdf"  %1
    'Written by SMTguru
    La procedure manuelle est de faire glisser deplacer le PDF sur l'icone de racourci du CMD, une fenetre MS-Dos apparait et il cree enfin une copie nomduPDF_noPW, le fenetre MS-Dos disparait...

    je veux integrer ca a Excel et j'avoue pas d'idee comment faire le Shell...

    Edit: j'ai trouve la commande dos:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Program Files\Freeware PDF Unlocker>gswin32c  -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite  -sFONTPATH=%windir%/fonts;xfonts;. -sPDFPassword= -dPDFSETTINGS=/prepress -dPassThroughJPEGImages=true -sOutputFile=C:\Test_noPW.pdf "C:\TEST.pdf"
    Maid je galere toujours pour faire un Shell...

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    As-tu simplement essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Ligne = "C:\Program Files\Freeware PDF Unlocker>gswin32c  -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite  -sFONTPATH=%windir%/fonts;xfonts;. -sPDFPassword= -dPDFSETTINGS=/prepress -dPassThroughJPEGImages=true -sOutputFile=C:\Test_noPW.pdf" & """C:\TEST.pdf"""
    Shell "cmd /c " & Ligne
    Pas testé

Discussions similaires

  1. Executer une fonction (avec paramètres) dans un thread secondaire
    Par you38 dans le forum Threads & Processus
    Réponses: 21
    Dernier message: 06/08/2010, 08h12
  2. [A-03] Executer une requete avec paramètres
    Par mattvin dans le forum IHM
    Réponses: 2
    Dernier message: 09/02/2009, 11h44
  3. Réponses: 7
    Dernier message: 16/10/2008, 17h19
  4. Réponses: 4
    Dernier message: 30/05/2008, 19h48
  5. Réponses: 3
    Dernier message: 09/01/2006, 16h35

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