Probleme SHELL

Résolu
MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 - 8 août 2004 à 18:45
MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 - 8 août 2004 à 23:34
Voilà mon code :

Private Sub cExec(iPos As Integer)
On Error GoTo dontfind

iPos = iPos + 1

While Mid(Text1.Text, iPos, 1) <> ""
sDir = sDir & Mid(Text1.Text, iPos, 1)
iPos = iPos + 1
Wend

Shell (sDir)
AddTxt ("Execution de " & sDir & "...")

Exit Sub
dontfind:
AddTxt ("Le chemin/fichier n'existe pas !")
End Sub

Et le Shell ne marche pas même si un fichier existant est appelé ...
Merci d'avance
-=Ar$£nik=-

3 réponses

vlad2i Messages postés 285 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 13 février 2005
8 août 2004 à 23:13
Shell ne permet d'exécuter que des executables (pif, bin, exe, com) hehe donc ca ne marche que dans ce cas...

Si tu veux ouvrir un fichier texte, tu fais Shell "notepad " & nomfichier

Si tu veux ouvrir n'importe quel fichier tu devras faire appel aux api (API ShellExecute) qui ouvre le texte avec l'éditeur de texte, l'image avec l'editeur d'image etc. tout seul

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

A utiliser comme suit :

ShellExecute Me.hWnd, "open", sDir, vbNullString, vbNullString, 5

Me.hWnd est le handle de la feuille, on ouvre un fichier sDir, sans paramètre, sans définir le répertoire, et 5 (ou SW_SHOW) pour que le fichier soit ouvert dans une fenetre au premier plan :)

Hope It'll help you
3
Utilisateur anonyme
8 août 2004 à 19:00
éssaie
valeur = Shell (sDir)
a+
0
MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 2
8 août 2004 à 23:34
Merci beacoup a vous 2 ! Le problème est résolu ..
++
-=Ar$£nik=-
0
Rejoignez-nous