Lancement d'executables avec Shell, générer des lignes de commande du CMD
Bonjour à tous,
Tout d'abord désolé, j'imagine que c'est un topic récurrent, mais j'ai regardé partout (MSDN, tutos, forumS) à propos de la commande Shell, du CMD, des fichiers batch, j'ai fait quelques tentatives et j'avoue que je suis un peu en panique...:?
La situation :
Mon fichier Excel (avec mes macros) et mes deux executables (logiciel_1.exe et logiciel_2.exe) se situent dans le même répertoire C:\Documents and Settings\gautier.b\Bureau. Les deux executables sont largement indépendants et je ne les ferai pas tourner en même temps, mais comme ils n'ont pas le même fonctionnement j'expose ce que je souhaite faire dans chacun de leur cas (dans les deux cas ces deux logiciels réclament un fichier d'entrée et génèrent un ou plusieurs fichiers de sortie).
1) Pour le 1er logiciel, je le lance comme ceci
Code:
Shell ActiveWorkbook.Path & "\logiciel_1.exe", vbNormalFocus
Ce logiciel s'exécute dans une fenêtre du CMD où il affiche une première question (Nom du fichier d'entrée ?), à laquelle je dois répondre dans la ligne de commande suivante (entree_1.txt). Je n'arrive pas à la remplir autrement qu'à la main. Trois autres questions du même genre suivront.
2) Pour faire fonctionner le 2ème logiciel (je répète : aucun rapport avec le précédent), je dois lancer le CMD, que je fais comme ceci :
Code:
Shell "CMD.exe /K", vbNormalFocus
Le CMD se place alors automatiquement dans le répertoire E:\DONNEES\gautier.b\APPSDATA\Microsoft\Macros complémentaires> (?!)
Ce que je souhaite alors faire, mais je n'y arrive pas, c'est
a. me placer dans le répertoire C:\Documents and Settings\gautier.b\Bureau
b. lancer ce 2ème logiciel qui exige une commande avec la syntaxe suivante
logiciel_2 <fichier_d_entree.txt> fichier_de_sortie.txt
Merci de votre aide :hola: J'accueille toutes les réponses possibles à bras ouverts (AppWindow, batch, etc.) !! J'imagine que celui (ou celle) qui arrive à répondre à cette question peut directement transformer sa réponse en FAQ ou en tuto ! :mrgreen:
Gautier
lancement d'un executable avec SHELL dans le CMD (question simplifiée)
Re-bonjour à tous,
Suite à un manque d'inspiration générale (ce que je comprends !), je simplifie ma question :
Quelle est la syntaxe en VBA de la commande SHELL pour entrer dans le CMD la commande suivante (sachant qu'au préalable il faut placer le CMD sur le bon disque puis dans le bon répertoire) :
monExecutable \fichier_entree_1.txt \fichier_entree_2.txt \fichier_sortie.txt ?
Merci d'avance
Ci-dessous ma première réponse qui n'a pas su lever la motivation !
Citation:
Bonjour LeForestier, et tous ceux intéressés par ce post,
1°) Logiciel_1 ne supporte pas les lignes de commandes du genre "logiciel_1 \entree_1.txt" (j'ai essayé). Dans la notice de conception, rien n'est précisé donc je ne crois pas que d'autres syntaxes soient prévues.
2°) Ce n'est pas moi qui ai codé ce logiciel. Il a été fait en Fortran mais ce n'est pas sa version définitive, donc je peux encore faire remonter tous les bugs et toutes les modifications que je vois nécessaires. A la limite, je peux même le recoder moi-même, surtout pour ce genre de manip' (ce n'est que de "l'enrobage" comme disent les chercheurs!). Il faudra juste que j'apprenne le Fortran mais de toute façon je n'y couperai pas ;)
Merci de t'être intéressé à mon problème !
Gautier