Je cherche la boîte de dialogue identique à celle de l'explorateur de
Windows, qui place en premier le bureau, puis un peu en dessous C.... avec
possibilité de récupérer le chemin choisi par clique ?
Je ne trouve pas cet objet, faut-il en prendre un autre et le modifier?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christophe
Voila un bout de code qui te donne les repertoires,
christophe Vergon
Public Function strSelectFolder(hwnd&) As String
Dim shellOperator As Object Dim folRepSel As Object Dim foliFile As Object Dim rep As Object Dim sFullPath As String Dim sNameFolder As String Dim sComplement As String
'ouverture de la fenetre choix du répertoire
'Affiche la boite de sélection des répertoire Set shellOperator = CreateObject("Shell.Application") Set folRepSel = shellOperator.BrowseForFolder(hwnd&, "Répertoire où trouver les images :", 1) If folRepSel Is Nothing Then strSelectFolder = "" Exit Function End If
'récupère la collection des fichiers contenus dans le répertoire Set rep = folRepSel.Items sComplement = "" If rep.count = 0 Then 'récupère le premier élément du répertoire parent Set foliFile = folRepSel.ParentFolder.Items.Item(0) sComplement = folRepSel.Title + "" Else Set foliFile = rep.Item(0) 'premier élément, on récupère le nom du répertoire End If
'récupère le chemin de l'item sFullPath = foliFile.Path 'construction du chemin If sFullPath = "" Then 'choix d'un ordinateur réseau 'il faut mettre NOM_ORDI sFullPath = "" + sComplement Else 'pas racine d'un ordi distant 'récupère le nom de l'item sNameFolder = foliFile.Name 'construction du path sFullPath = Left(sFullPath, Len(sFullPath) - Len(sNameFolder)) + sComplement End If Set foliFile = Nothing Set shellOperator = Nothing Set folRepSel = Nothing
strSelectFolder = sFullPath
End Function "Joseph PUSZTAY" a écrit dans le message de news:
Bonjour,
Je cherche la boîte de dialogue identique à celle de l'explorateur de Windows, qui place en premier le bureau, puis un peu en dessous C.... avec possibilité de récupérer le chemin choisi par clique ?
Je ne trouve pas cet objet, faut-il en prendre un autre et le
modifier?
Merci, au revoir et à bientôt.
Joe.
Voila un bout de code qui te donne les repertoires,
christophe Vergon
Public Function strSelectFolder(hwnd&) As String
Dim shellOperator As Object
Dim folRepSel As Object
Dim foliFile As Object
Dim rep As Object
Dim sFullPath As String
Dim sNameFolder As String
Dim sComplement As String
'ouverture de la fenetre choix du répertoire
'Affiche la boite de sélection des répertoire
Set shellOperator = CreateObject("Shell.Application")
Set folRepSel = shellOperator.BrowseForFolder(hwnd&, "Répertoire où
trouver les images :", 1)
If folRepSel Is Nothing Then
strSelectFolder = ""
Exit Function
End If
'récupère la collection des fichiers contenus dans le répertoire
Set rep = folRepSel.Items
sComplement = ""
If rep.count = 0 Then
'récupère le premier élément du répertoire parent
Set foliFile = folRepSel.ParentFolder.Items.Item(0)
sComplement = folRepSel.Title + ""
Else
Set foliFile = rep.Item(0)
'premier élément, on récupère le nom du répertoire
End If
'récupère le chemin de l'item
sFullPath = foliFile.Path
'construction du chemin
If sFullPath = "" Then
'choix d'un ordinateur réseau
'il faut mettre \NOM_ORDI
sFullPath = "\" + sComplement
Else
'pas racine d'un ordi distant
'récupère le nom de l'item
sNameFolder = foliFile.Name
'construction du path
sFullPath = Left(sFullPath, Len(sFullPath) - Len(sNameFolder)) +
sComplement
End If
Set foliFile = Nothing
Set shellOperator = Nothing
Set folRepSel = Nothing
strSelectFolder = sFullPath
End Function
"Joseph PUSZTAY" <montmartre75@noos.fr> a écrit dans le message de news:
umgQ1FfeDHA.1212@TK2MSFTNGP09.phx.gbl...
Bonjour,
Je cherche la boîte de dialogue identique à celle de l'explorateur de
Windows, qui place en premier le bureau, puis un peu en dessous C.... avec
possibilité de récupérer le chemin choisi par clique ?
Je ne trouve pas cet objet, faut-il en prendre un autre et le
Voila un bout de code qui te donne les repertoires,
christophe Vergon
Public Function strSelectFolder(hwnd&) As String
Dim shellOperator As Object Dim folRepSel As Object Dim foliFile As Object Dim rep As Object Dim sFullPath As String Dim sNameFolder As String Dim sComplement As String
'ouverture de la fenetre choix du répertoire
'Affiche la boite de sélection des répertoire Set shellOperator = CreateObject("Shell.Application") Set folRepSel = shellOperator.BrowseForFolder(hwnd&, "Répertoire où trouver les images :", 1) If folRepSel Is Nothing Then strSelectFolder = "" Exit Function End If
'récupère la collection des fichiers contenus dans le répertoire Set rep = folRepSel.Items sComplement = "" If rep.count = 0 Then 'récupère le premier élément du répertoire parent Set foliFile = folRepSel.ParentFolder.Items.Item(0) sComplement = folRepSel.Title + "" Else Set foliFile = rep.Item(0) 'premier élément, on récupère le nom du répertoire End If
'récupère le chemin de l'item sFullPath = foliFile.Path 'construction du chemin If sFullPath = "" Then 'choix d'un ordinateur réseau 'il faut mettre NOM_ORDI sFullPath = "" + sComplement Else 'pas racine d'un ordi distant 'récupère le nom de l'item sNameFolder = foliFile.Name 'construction du path sFullPath = Left(sFullPath, Len(sFullPath) - Len(sNameFolder)) + sComplement End If Set foliFile = Nothing Set shellOperator = Nothing Set folRepSel = Nothing
strSelectFolder = sFullPath
End Function "Joseph PUSZTAY" a écrit dans le message de news:
Bonjour,
Je cherche la boîte de dialogue identique à celle de l'explorateur de Windows, qui place en premier le bureau, puis un peu en dessous C.... avec possibilité de récupérer le chemin choisi par clique ?
Je ne trouve pas cet objet, faut-il en prendre un autre et le
modifier?
Merci, au revoir et à bientôt.
Joe.
Ledev
Joseph PUSZTAY wrote:
Bonjour,
Bonjour,
Je cherche la boîte de dialogue identique à celle de l'explorateur de Windows, qui place en premier le bureau, puis un peu en dessous C.... avec possibilité de récupérer le chemin choisi par clique ?
Je ne trouve pas cet objet, faut-il en prendre un autre et le modifier?
Tu peut utilisée TreeView(dans les contrôles communs). Ainsi, tu place toi même le bureau et le poste de travail, et tu obtient alors la liste des lecteurs par api de préférence(mais tu peu aussi passez par un contrôle DriveList) et tu explore les dossiers avec Dir. Pour explorer les dossiers et les sous dossiers, cela peut sembler compliquer, mais disons que l'astuce consiste a faire une sub qui s'appelle elle même pour les sous dossiers: sub AjouteDossier(NomDossier) 'Je n'aurrai pas le temps de m'atarder, donc je donne en gros, mais je te la compléterai demain si j'en ait le temps(les cours sont trés prenant :-( ). 'Ajoute le dossier à la liste 'Utilise la méthode Add de la collections Nodes de l'objet TreeView
'Puis tu listes tous les sous dossiers avec dir(je pense que tu sais faire) 'Et pour chaque sous dossiers: AjouteDossier(LeNouveauDossier)
end sub
Pour ce qui est de "gérer" les noeuds, passe par la key de chaque noeud pour mettre le chemin complet(par exemple c:MonDossier1MonDossier2), et la propriété Text pour juste le nom(MonDossier2). Ainsi pour ajouté MonDossier3, suffit d'ajoutée un noeud comme suit: Key="c:MonDossier1MonDossier2MonDossier3" Text="MonDossier3" Parent(ceci doit être le premier argument de la methode add de nodes)="c:MonDossier1MonDossier2"
Voilà, a+.
Joseph PUSZTAY wrote:
Bonjour,
Bonjour,
Je cherche la boîte de dialogue identique à celle de
l'explorateur de Windows, qui place en premier le bureau, puis un peu
en dessous C.... avec possibilité de récupérer le chemin choisi par
clique ?
Je ne trouve pas cet objet, faut-il en prendre un autre et le
modifier?
Tu peut utilisée TreeView(dans les contrôles communs).
Ainsi, tu place toi même le bureau et le poste de travail, et tu obtient
alors la liste des lecteurs par api de préférence(mais tu peu aussi passez
par un contrôle DriveList) et tu explore les dossiers avec Dir.
Pour explorer les dossiers et les sous dossiers, cela peut sembler
compliquer, mais disons que l'astuce consiste a faire une sub qui s'appelle
elle même pour les sous dossiers:
sub AjouteDossier(NomDossier)
'Je n'aurrai pas le temps de m'atarder, donc je donne en gros, mais je
te la compléterai demain si j'en ait le temps(les cours sont trés prenant
:-( ).
'Ajoute le dossier à la liste
'Utilise la méthode Add de la collections Nodes de l'objet TreeView
'Puis tu listes tous les sous dossiers avec dir(je pense que tu sais
faire)
'Et pour chaque sous dossiers:
AjouteDossier(LeNouveauDossier)
end sub
Pour ce qui est de "gérer" les noeuds, passe par la key de chaque noeud pour
mettre le chemin complet(par exemple c:MonDossier1MonDossier2), et la
propriété Text pour juste le nom(MonDossier2). Ainsi pour ajouté
MonDossier3, suffit d'ajoutée un noeud comme suit:
Key="c:MonDossier1MonDossier2MonDossier3"
Text="MonDossier3"
Parent(ceci doit être le premier argument de la methode add de
nodes)="c:MonDossier1MonDossier2"
Je cherche la boîte de dialogue identique à celle de l'explorateur de Windows, qui place en premier le bureau, puis un peu en dessous C.... avec possibilité de récupérer le chemin choisi par clique ?
Je ne trouve pas cet objet, faut-il en prendre un autre et le modifier?
Tu peut utilisée TreeView(dans les contrôles communs). Ainsi, tu place toi même le bureau et le poste de travail, et tu obtient alors la liste des lecteurs par api de préférence(mais tu peu aussi passez par un contrôle DriveList) et tu explore les dossiers avec Dir. Pour explorer les dossiers et les sous dossiers, cela peut sembler compliquer, mais disons que l'astuce consiste a faire une sub qui s'appelle elle même pour les sous dossiers: sub AjouteDossier(NomDossier) 'Je n'aurrai pas le temps de m'atarder, donc je donne en gros, mais je te la compléterai demain si j'en ait le temps(les cours sont trés prenant :-( ). 'Ajoute le dossier à la liste 'Utilise la méthode Add de la collections Nodes de l'objet TreeView
'Puis tu listes tous les sous dossiers avec dir(je pense que tu sais faire) 'Et pour chaque sous dossiers: AjouteDossier(LeNouveauDossier)
end sub
Pour ce qui est de "gérer" les noeuds, passe par la key de chaque noeud pour mettre le chemin complet(par exemple c:MonDossier1MonDossier2), et la propriété Text pour juste le nom(MonDossier2). Ainsi pour ajouté MonDossier3, suffit d'ajoutée un noeud comme suit: Key="c:MonDossier1MonDossier2MonDossier3" Text="MonDossier3" Parent(ceci doit être le premier argument de la methode add de nodes)="c:MonDossier1MonDossier2"