OVH Cloud OVH Cloud

Plusieurs instance de ShellExecute?

1 réponse
Avatar
+The_Taco+
Je tente présentement d'ouvrir plusieurs fichiers Excel à la fois avec VB en
utilisant la méthode ShellExecute. Le problème c'est qu'il ouvre tous mes
fichiers mais un par dessus l'autre. Résultat? À la place d'avoir 5 fichiers
Excel d'ouverts, j'en ai 1 qui est le dernier ouvert.
Quelqu'un peut m'aider?

Voici mon code:

'''''''''''''''''''''''''''''''''''''''''''''''''''''''
Do While iCptOpen <= iCpt
'On cherche l'exécutable
Call FindExecutable(sTabFichier(iCptOpen), "", strEXE)

'Si le type de fichier s'ouvre avec un .exe
If InStr(1, strEXE, "\") > 0 Then
'On exécute le programme associé au fichier
Call ShellExecute(hwnd, "Open", (strPath), "", App.Path,
0)
Else
'Message d'erreur
MsgBox "Impossible d'ouvrir ce type d'extension"
End If

iCptOpen = iCptOpen + 1
Loop
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Merci

cheers

1 réponse

Avatar
Zoury
Salut Dominic! :O)

Essaie en mentionnant seulement les noms de fichiers pour voir... ici ça
ouvre 3 Excel parallèlement..

'***
' Module1
Option Explicit

Private Const SW_NORMAL As Long = 1

Private Declare Function ShellExecute _
Lib "shell32.dll" _
Alias "ShellExecuteA" _
( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long _
) As Long

Private Sub Main()

Dim i As Integer

For i = 1 To 3
Call ShellExecute(0, vbNullString, "ws" & i & ".xls", vbNullString,
"c:", SW_NORMAL)
Next i

End Sub
'***


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"+The_Taco+" wrote in message
news:%23c72Ra$
Je tente présentement d'ouvrir plusieurs fichiers Excel à la fois avec VB


en
utilisant la méthode ShellExecute. Le problème c'est qu'il ouvre tous mes
fichiers mais un par dessus l'autre. Résultat? À la place d'avoir 5


fichiers
Excel d'ouverts, j'en ai 1 qui est le dernier ouvert.
Quelqu'un peut m'aider?

Voici mon code:

'''''''''''''''''''''''''''''''''''''''''''''''''''''''
Do While iCptOpen <= iCpt
'On cherche l'exécutable
Call FindExecutable(sTabFichier(iCptOpen), "", strEXE)

'Si le type de fichier s'ouvre avec un .exe
If InStr(1, strEXE, "") > 0 Then
'On exécute le programme associé au fichier
Call ShellExecute(hwnd, "Open", (strPath), "",


App.Path,
0)
Else
'Message d'erreur
MsgBox "Impossible d'ouvrir ce type d'extension"
End If

iCptOpen = iCptOpen + 1
Loop
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Merci

cheers