OVH Cloud OVH Cloud

Instruction shell

2 réponses
Avatar
Jacky
Bonsoir,


Si Shell lance un programme .exe, par quel moyen peut-on faire attendre la
prochaine instruction ?
Le programme continue, et peut ne pas tenir compte des résultats de retour
du
prg.exe lancé.

Bonne soirée
JJ

2 réponses

Avatar
Christophe
Bonjour, une réponse issue d'un autre ng VB.
Christophe V.

Use this function instead of Shell. It will wait for the programs
termination before returning control to the procedure.

Function ShellAndWait(FileName As String)
Dim objScript As Object
Dim ShellApp As Long

On Error GoTo ERR_OpenForEdit

Set objScript = CreateObject("WScript.Shell")

ShellApp = objScript.Run(FileName, 1, True)
ShellAndWait = True

EXIT_OpenForEdit:
Exit Function
ERR_OpenForEdit:
MsgBox Err.Description
GoTo EXIT_OpenForEdit
End Function


"Jacky" a écrit dans le message de news:
#
Bonsoir,


Si Shell lance un programme .exe, par quel moyen peut-on faire attendre la
prochaine instruction ?
Le programme continue, et peut ne pas tenir compte des résultats de retour
du
prg.exe lancé.

Bonne soirée
JJ





Avatar
Jacky
Bonsoir
A l'appel de la fonction, je reçois le message:
Méthode Run de l'objet 'lwhell2' a échoué
voici mon code en vba
ShellAndWait (Repertoire_3 & "joinfiles.exe")

et celui qui fonctionne, mais qui continue la suite des codes
' Shell Repertoire_3 & "joinfiles.exe" & " " & nom, vbNormalFocus

@+

"François Picalausa" a écrit dans le message news:

Bonjour/soir,

sans objet scripting, fonctionne pour VBA,
http://support.microsoft.com/default.aspx?scid9796

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"Christophe" a écrit dans le message de
news:bkcsp0$cgf$
> Bonjour, une réponse issue d'un autre ng VB.
> Christophe V.
>
> Use this function instead of Shell. It will wait for the programs
> termination before returning control to the procedure.
>
> Function ShellAndWait(FileName As String)
> Dim objScript As Object
> Dim ShellApp As Long
>
> On Error GoTo ERR_OpenForEdit
>
> Set objScript = CreateObject("WScript.Shell")
>
> ShellApp = objScript.Run(FileName, 1, True)
> ShellAndWait = True
>
> EXIT_OpenForEdit:
> Exit Function
> ERR_OpenForEdit:
> MsgBox Err.Description
> GoTo EXIT_OpenForEdit
> End Function
>
>
> "Jacky" a écrit dans le message de news:
> #
> > Bonsoir,
> >
> >
> > Si Shell lance un programme .exe, par quel moyen peut-on faire


attendre
la
> > prochaine instruction ?
> > Le programme continue, et peut ne pas tenir compte des résultats de
retour
> > du
> > prg.exe lancé.
> >
> > Bonne soirée
> > JJ
> >
> >
> >
>
>