Bachorx
Messages postés2Date d'inscriptionmardi 4 mai 2004StatutMembreDernière intervention24 mai 2004
-
19 mai 2004 à 19:13
Bachorx
Messages postés2Date d'inscriptionmardi 4 mai 2004StatutMembreDernière intervention24 mai 2004
-
24 mai 2004 à 15:13
Bonjour à tous,
Dans mon programme je fais un appel de la fonction DOS FC pour comparer deux fichiers excel avec la fonction "Shell" de VB. Mais je ne sais pas comment (ou même si cela est possible) récupérer l'ERRORLEVEL généré par FC ou par tout autre commande DOS.
Voila, si quelqu'un connait la solution, il serait gentil de m'en faire part.
Merci d'avance
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 19 mai 2004 à 19:24
Bon je vais tricher mais voila une solution :
Faire un ficheir de commande DOS comme celui-ci (nommé fc.cmd)
@Echo Off
fc %1 %2
Echo %ErrorLevel%>%3
Et ensuite faire l'appel comme suit :
Shell "fc.cmd " & NomFic1 & " " & NomFic2 & " " & NomFicResult
Ou Nomfic1 et Nomfic2 sont des string avec les nom des tes fichier et NomFicResult une string avec un nom de fichier temporaire.
Ouvre ensuite le ficheir NomFicResult pour lire la valeur de ErrorLevel.
A noter qu'il vaudrait mieux utiliser une version synchrone de Shell, plutot que la version "de base" : Voir dans mes sources
Bachorx
Messages postés2Date d'inscriptionmardi 4 mai 2004StatutMembreDernière intervention24 mai 2004 24 mai 2004 à 15:13
Tout d'abord merci.
Donc j'ai fait un batch. Lorsque je le lance à partir d'une console DOS ca marche parfaitement.
Mais lorsque je le lance de VB avec la fonction shell ou ta fonction ShellWait, il n'ecrit pas ds le fichier temporaire.
Aurais tu une idée sur ce probleme?
Merci d'avance