Explorer un dossier, récuperer le chemin d'un executable

Résolu
meta4ik Messages postés 7 Date d'inscription mardi 1 décembre 2009 Statut Membre Dernière intervention 14 décembre 2009 - 14 déc. 2009 à 16:51
meta4ik Messages postés 7 Date d'inscription mardi 1 décembre 2009 Statut Membre Dernière intervention 14 décembre 2009 - 14 déc. 2009 à 19:10
Salut,
Je suis débutant en VBA, travaille sur Catia.
Mon explorateur me limite au dossier. Je récupère donc le chemin du dossier de travail dans une textbox.
Je souhaiterai donc savoir comment afficher le contenu de ce dossier pour ensuite sélectionner l'exécutable et récupérer son chemin dans une seconde textbox. Cet exécutable sera lancé ensuite par la suite grâce à shell .
Merci d'avance...

voici mon code :


Private Sub CommandButton1_Click()

Dim objShell As Object, objFolder As Object, oFolderItem As Object

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "", &H1&)

On Error Resume Next
Set oFolderItem = objFolder.Items.Item
chooseFolder = oFolderItem.Path
TextBox1.Text = chooseFolder

End Sub

javascript:void(0);

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
14 déc. 2009 à 17:45
Re...
Veux-tu bien en finir avec ce FSO devenu complètement inutile, oui ? ...

Private Sub CommandButton1_Click() 
  dim dossier as string, filtre as string, fichiers as string
  dossier = C\blabla\blabla\ ' <<<<==== ici ton dossier à fouiller, terminé par un \ 
  filtre = "*.exe" ' <<<<<<<<<<<<<<<<<<======= ici ton filtre à toi
  fichiers = Dir(dossier & filtre, vbNormal Or vbHidden) 
  Do While fichiers <> "" 
    ListBox1.AddItem fichiers 
    fichiers = Dir 
  Loop 

End Sub 


Voilà ! C'est celà qui remplira ta listbox nommée ListBox1 (avec tous les fichiers correspondant à ton filtre).

La manière de sélectionner ensuite dans la listbox (au click) est autre chose (mais je pense que tu la connais, au moins... non ?... si non plus, tu dis ...)
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
14 déc. 2009 à 17:02
Bonjour,
Ouvre cette discussion :

http://www.vbfrance.com/forum/sujet-LANCEMENT-AUTOMATIQUE-VIDEOS_1385236.aspx
et va directement à la réponse acceptée (en vert, donc). Elle est ta solution
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
0
meta4ik Messages postés 7 Date d'inscription mardi 1 décembre 2009 Statut Membre Dernière intervention 14 décembre 2009
14 déc. 2009 à 17:22
Merci de ta réponse... mais je n'arrive pas à le faire fonctionner. J'ai essayer de l'intégrer à **** et comme ci-dessous mais... oups ça ne fait rien.
Merci encore...

Private Sub CommandButton1_Click()

Dim objShell As Object, objFolder As Object, oFolderItem As Object

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "", &H1&)

On Error Resume Next
Set oFolderItem = objFolder.Items.Item
chooseFolder = oFolderItem.Path
TextBox1.Text = chooseFolder
****
End Sub

Private Sub ListBox1_Click()

dossier = TextBox1.Value ' ton chemin de dossier
filtre = "*.exe" ' ton filtre
fichiers = Dir(dossier & filtre, vbNormal Or vbHidden)
Do While fichiers <> ""
ListBox1.AddItem fichiers
fichiers = Dir
Loop

End Sub

javascript:void(0);
0
meta4ik Messages postés 7 Date d'inscription mardi 1 décembre 2009 Statut Membre Dernière intervention 14 décembre 2009
14 déc. 2009 à 18:23
Au top, je te remercie...
J'utilise le FSO (objShell.BrowseForFolder et objFolder.Items.Item... si j'ai bien compris ce qu'était le FSO) afin de parcourir le disque et de récupérer le chemin du dossier de travail dans une textbox (car j'utilise ce chemin pour utiliser plusieurs fichiers qui s'y trouvent).

C'est pour cela que dans le code que tu m'as passer j'ai modifié par :
Cheminchoisi = TextBox1.Value
dossier = Cheminchoisi & ""

Pour lancer l'exécutable sélectionné dans la ListBox(ligne en bleu), le code est :

'Lancer l'exécutable
Dim Executable As Variant
cheminexe = ListBox1.Value
Executable = Cheminchoisi & "" & cheminexe
Shell (Accouplment_boulonne_exe)

Comme ça, It's Works !!!!
Merci Encore...
javascript:void(0);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
meta4ik Messages postés 7 Date d'inscription mardi 1 décembre 2009 Statut Membre Dernière intervention 14 décembre 2009
14 déc. 2009 à 18:53
Ou pas...
Je change de pc j'ai introduis le même code et il ne reconnait pas le cheminexe (il trouve "" alors que pour Cheminchoisi "C:/....").

Et donc l'exécutable ne se lance pas...
0
meta4ik Messages postés 7 Date d'inscription mardi 1 décembre 2009 Statut Membre Dernière intervention 14 décembre 2009
14 déc. 2009 à 19:10
excuse, c'est bon!
Merci encore !!
0
Rejoignez-nous