dodo1309
Messages postés218Date d'inscriptionmercredi 17 mai 2006StatutMembreDernière intervention30 mai 2011
-
5 janv. 2007 à 16:37
dodo1309
Messages postés218Date d'inscriptionmercredi 17 mai 2006StatutMembreDernière intervention30 mai 2011
-
6 janv. 2007 à 10:52
Bonjour voila j'ai un petit problème avec un filesystemobject ( en voici le code récupé sur codyx) : je n'arrive pas a lister le contenu d' un cd ou dvd ( mais d'un dossier normal pas de problème)
je c'est le problème c'est : Fso.getfolder mais je c pas comment le remplacer por qu'il prennent en compte les cd et dvd
Public Sub ListerSousRepertoire(ByVal NomRepertoire As String, ByRef Fso, ByVal NumFile As Integer)
Dim SubFol, Fi, Fol
Set Fol = Fso.getfolder(NomRepertoire)
For Each Fi In Fol.Files
List1.AddItem Fi.Path
Next
For Each SubFol In Fol.SubFolders
Call ListerSousRepertoire(SubFol.Path, Fso, NumFile)
Next
Set Fol = Nothing
Set Fi = Nothing
Set SubFol = Nothing
End Sub
exemple d'appel :
Dim NumFile As Integer
NumFile = FreeFile
Call ListerSousRepertoire("E:", CreateObject("Scripting.FileSystemObject"), NumFile)
Close NumFile
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 5 janv. 2007 à 16:57
Salut,
voit si la fonction de PCPT te convient :
Function GetFilesPathFromDirectory(ByVal sDir As String, ByRef aRet() As String, Optional ByVal sFilter As String = "*.*") As Long
'
GetFilesPathFromDirectory retourne -1 si aucun fichier trouvé
' sinon retourne la dimension du tableau, donc NB fichiers -1
(tableau commence à l'indice 0)
' init les
résultats
GetFilesPathFromDirectory = -1
Erase aRet
If RightB$(sDir, 2) <> "" Then sDir = sDir & ""
' formate le
chemin
Dim sFile As String, lIndex As Long
sFile = Dir(sDir & sFilter, vbHidden Or
vbSystem)
'
redimentionne après vérif premier fichier
If sFile <> vbNullString Then
lIndex = 0
ReDim aRet(lIndex)
aRet(lIndex) = sDir & sFile
sFile = Dir
' boucle sur tous les fichiers
Do While sFile <> vbNullString
lIndex = UBound(aRet) + 1
ReDim Preserve aRet(lIndex)
aRet(lIndex) = sDir & sFile
sFile = Dir
Loop
'
retour
GetFilesPathFromDirectory = lIndex
End If
End Function
' EXEMPLE
D'UTILISATION
Private Sub Command1_Click()
Dim aResultat() As String
Dim lRet As Long
Dim i As Long
lRet = GetFilesPathFromDirectory("E:", aResultat())
If lRet <> -1 Then
For i = 0 To lRet
Debug.Print "Fichier " & i + 1 & " = " & aResultat(i)
Next i
End If
End Sub
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 5 janv. 2007 à 17:18
Moi j'ai une fonction sur Codyx qui liste tout mais c'est pour du vba, c'est peut-être adaptable, à voir.
Pour ton histoire de copie, il faut savoir le nombre de fichiers, ensuite pour alimenter ton progressbar au niveau de la valeur, c'est une division par rapport au nombre total de fichiers et au numéro en cours.
regarde le progressbar de Renfield, il est bien graphiquement et facile d'utilisation.
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Vous n’avez pas trouvé la réponse que vous recherchez ?