Salut, j'ai une chauve-souris parfaitement travail nommé: start.bat contenant:excel vba ne sera pas exécuté .bat mais bat exécuter manuellement fonctionne bien
start C:\Users\*user*\Documents\*path*\hidebat.vbs
et une fois qu'il est ouvert manuellement il fonctionne parfaitement, ce qui signifie il ouvre hidebat.vbs, ce qui ouvre un fichier .bat minimisé qui télécharge des fichiers sur mon cloud. D'où c'est vérifié.
J'ai ajouté
pause
au start.bat pour voir ce qu'il fait et quand je dis Excel pour ouvrir le start.bat il ouvrira cmd et afficher la commande exacte nécessaire, mais ne va pas exécuter hidebat.vbs.
Je m'attends à ce qu'il y ait une contrainte de chemin ou une contrainte d'environnement quand elle est exécutée à partir d'Excel, ce qui l'empêche d'atteindre réellement cet environnement limité.
Dans Excel j'ai essayé d'appeler le .bat de 3 manières différentes avec:
Dim path As String
path = Application.ActiveWorkbook.path
path = path & "\"
Dim MY_FILENAME3 As String
MY_FILENAME3 = path & "start.bat"
1.
retVal = Shell(MY_FILENAME3, vbNormalFocus)
' NOTE THE BATCH FILE WILL RUN, BUT THE CODE WILL CONTINUE TO RUN.
If retVal = 0 Then
MsgBox "An Error Occured"
Close #FileNumber
End
End If
2.
PathCrnt = ActiveWorkbook.path
Call Shell(PathCrnt & "start.bat")
3.
Dim batPath As String: batPath = path
Call Shell(Environ$("COMSPEC") & " /c " & batPath & "start.bat", vbNormalFocus)
Quelqu'un sait-il pourquoi il n'exécutera pas le fichier .bat, ou ce que je pourrais faire pour m'assurer qu'il fonctionnera correctement?
Remarque. Je pense que c'est parce qu'il ouvre le chemin par défaut, donc je vais le dire à "cd" au chemin réel où l'excel est enregistré et où les fichiers .bat sont.