fabricioliking
Messages postés79Date d'inscriptionmercredi 30 août 2006StatutMembreDernière intervention15 mai 2009
-
18 avril 2008 à 10:13
MasterCent
Messages postés83Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention14 décembre 2011
-
18 avril 2008 à 11:50
Grâce à cette fonction j'affiche dans un composant list mes sousdossier, Mais je n'arrive pas à trouver et à comprendre pour trouver aussi tout les sous sous dossiers etc.
Si quelqu'un pourais me donner une piste :D
Dim stRep 'Nom du répertoire à parcourir
Dim K As Integer
K = 0
Set oFSO = CreateObject("Scripting.FileSystemObject")
stRep = "C:\Documents and Settings\FSD.DOMMIND\Bureau\Source a comparer"
If oFSO.FolderExists(stRep) Then
For Each oFld In oFSO.GetFolder(stRep).SubFolders
List.AddItem oFld.Name, K
K = K + 1
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 18 avril 2008 à 11:00
K est inutile
pour ton probleme, te faut faire une fonction récursive ...
en gros ( a adapter)
Set oFSO = CreateObject("Scripting.FileSystemObject")
AjouterDossier "C:\Documents and Settings\FSD.DOMMIND\Bureau\Source a comparer"
private sub AjouterDossier(byref stRep as string
If oFSO.FolderExists(stRep) Then
List.AddItem stRep
For Each oFld In oFSO.GetFolder(stRep).SubFolders
AjouterDosser oFld.FullPath
Next oFld
End If
End Sub
reste que tu utilises FSO, qui, comme son nom l'indique est destiné au Script.
MasterCent
Messages postés83Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention14 décembre 20111 18 avril 2008 à 11:50
Salut,
Pas de problème d'emploi avec FSO ( FileScriotingObject),
Mais tu appelles abusivement ton bout de code "fonction"
' fonction qui lit les sous-dossiers, les ajoute à une liste, et repete le traitement sur ceux-ci.
' usage de la Recursivité
function Parcours ( List , K , objDossier )
dim oFld
For Each oFld In objDossier.SubFolders
// Ajout à la liste
List.AddItem oFld.Name, K
K = K + 1
// recursivité
call Parcours ( List , K , oFld )
Next
end function
// lancement ::
Dim List ...
Dim stRep 'Nom du répertoire à parcourir
Dim K As Integer
Dim objFolder
K = 0
Set oFSO = CreateObject("Scripting.FileSystemObject")
stRep = "C:\Documents and Settings\FSD.DOMMIND\Bureau\Source a comparer"
If oFSO.FolderExists(stRep) Then
set objFolder = oFSO.GetFolder(stRep)
call Parcours ( List , K , objFolder )
end if
// A ce stade, List contient TOUS les sous-dossiers !!!