Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2378 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Ecritude dans un fichier.bat à partir de VBA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ecritude dans un fichier.bat à partir de VBA

n°2181111
melof42
Posté le 18-03-2013 à 17:24:40  profilanswer
 

Bonjour,  
 
Je souhaite à partir d'une maccro excel lancer un fichier bat.  
Pour cela, j'écris dans ma maccro VBA :  
 

Code :
  1. chemin2 = "C:\Users\MOI\Desktop\3D\qhull-2012.1\eg\Qhull-go.bat"Open chemin2 For Output As #3
  2. Print #3, "qdelaunay s i TO qdelaunayessai.txt <ImputDataExecutable.txt"
  3. Close #3


 
Au lieu d'écrire qdelaunay s i TO qdelaunayessai.txt <ImputDataExecutable.txt ça m'écrit  qdelaunay s i TO qdelaunayessai.txt 0<ImputDataExecutable.txt  
 
Comment puis-je enlever le 0 ?
 
Remarque : ça le fait également pour "<" avec un 1 devant
 
Merci de vos réponses
 
Mélo

mood
Publicité
Posté le 18-03-2013 à 17:24:40  profilanswer
 

n°2182998
cri88
Posté le 28-03-2013 à 16:00:15  profilanswer
 

Bonjour,
 
Ton code fonctionne bien pour moi (Excel 2013). Je n'ai pas de 0 qui apparaît comme tu l'indiques.
 
Tu peux essayer de remplacer le signe < par son code ascii. Sait-on jamais...
 

Code :
  1. chemin2 = "C:\test.bat"
  2. Open chemin2 For Output As #3
  3. Print #3, "qdelaunay s i TO qdelaunayessai.txt " & Chr$(60) & "ImputDataExecutable.txt"
  4. Close #3


 
Cdlt

n°2183152
melof42
Posté le 29-03-2013 à 14:00:49  profilanswer
 

Bonjour,  
 
En effet mon code fonctionne, j'ai mis append au lieu de output car je ne veux pas supprimer ce qu'il y a déjà dedans !
Cependant, quand j'ouvre le fichier bat en .txt voila ce que j'obtiens
 

Code :
  1. : Qhull-go.bat invoked as cmd.com from QHULL-GO
  2. @echo off
  3. echo.
  4. echo ========= Qhull with rbox, qconvex, qdelaunay, qvoronoi, qhalf ============
  5. echo.
  6. echo       Use arrow keys to repeat and edit commands.
  7. echo.
  8. echo       Double-click window bar for full height, or
  9. echo            "right-click > Properties > Layout > Window Size > Height > 50 "
  10. echo.
  11. echo       Type 'qconvex' for synopsis and examples.
  12. echo.
  13. echo =========
  14. echo.
  15. title Qhull
  16. cd bin
  17. %comspec%
  18. qdelaunay s i TO OutputDataQJ.txt <ImputData.txt


 
Au final mon fichier OutputDataQJ n'est pas crée. Je ne connais pas dt tout le fonctionnmeent des fichiers bat et mes recherches n'ont pour le moment pas abouti.  
 
Si tu as une petite idée du pourquoi je suis preneuse :)
 
Merci en tout cas d'avoir répondu !

n°2183156
Marc L
Posté le 29-03-2013 à 14:15:22  profilanswer
 

 
           Bonjour,    effectivement depuis le départ cette dernière ligne est intrigante
                           et seule toi peut expliquer ce qu'elle est censée faire !
 
           Tu peux tester aussi manuellement ta commande dans l'Invite de commandes
 

n°2183158
melof42
Posté le 29-03-2013 à 14:29:51  profilanswer
 

Manuellement la ligne de commande que je rentre i.e.

Code :
  1. qdelaunay s i TO OutputDataQJ.txt <ImputData.txt

 fonctionnement parfaitement, j'obtient ce que je veux !
 
Je suis presque sure que le problème vient en fait de %comspec% car quand je lance manuellement mon fichier j'ai sur ma console le chemin :

Code :
  1. C:\Users\Nom\Dekstop\3D\qhull-2012.1\bin


 
alors que si je lance de VBa, j'ai

Code :
  1. C:\Users\Nom\Dekstop\3D\NOMDUFICHIEROUJELANCEMAMACRO

, le système ne peut donc pas trouver le chemin spécifié !  
 
A mon avis il faut que je crée  "a customized Command Prompt " n'y connaissant pas grand chose je vais voir si cela est possible et si je ne raconte pas des sôtisses !  
 
En tout cas merci de m'aider juste le fait de parler du problème me fait comprendre certain trucs !
 

n°2183177
Marc L
Posté le 29-03-2013 à 15:14:58  profilanswer
 

 
           Le fichier batch (ou .cmd) a-t-il forcément besoin d'être créé à chaque fois,
           ne peut-il pas l'être une fois pour toute et ne lancer son exécution en VBA avec la fonction  Shell  ?
 

n°2183801
melof42
Posté le 03-04-2013 à 14:17:59  profilanswer
 

Au final je lance mon invite de commande à partir de "shell" et je rentre à la main ma commande !  
Je suis en train de regardezr du coté de Attachconsole ... mais pour le moment rien de concluant


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Ecritude dans un fichier.bat à partir de VBA

 

Sujets relatifs
problème programmation VBAErreur d execution 432 nom du fichier ou de la classe introuvable lors
mise a jour d'un fichier texte[macro WORD]: extraction de phrases à partir de mot clé
VBA prob de doublonVBA et excel Base de données
EXCEL 2007-VBA- Créer une zone de dessin et mise à l'échelle de formesparcours fichier HTML
VBA : Copier/Coller cellule d'un fichier en lecture seule 
Plus de sujets relatifs à : Ecritude dans un fichier.bat à partir de VBA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR