Lister les fichiers (2007)
Lister les fichiers contenus dans un dossier (et sous-dossiers)
Dans Access 2007, Microsoft à supprimer l'objet FileSearch. Il faut donc se rabattre sur le FileSystemObject en activant la référence "Microsoft Scripting Runtime"
Pour alimenter une zone de liste, on écrira par exemple :
Me!LaListe.RowSource = fnListFiles("c:\")
ou
Me!LaListe.RowSource = fnListFiles("e:\Images\", True)
La fonction :
Public Function fnListFiles(SourceDir As String, _
Optional SubDir As Boolean = False) As String
Dim FSO As Scripting.FileSystemObject
Dim srcFolder As Scripting.Folder
Dim SubFolder As Scripting.Folder
Dim FileItem As Scripting.File
Dim sFL As String
Const cnFolder As Long = 16
'
Set FSO = New Scripting.FileSystemObject
Set srcFolder = FSO.GetFolder(SourceDir)
'
'// boucle sur la liste des fichiers
For Each FileItem In srcFolder.Files
sFL = IIf(sFL = "", FileItem.Path, sFL & ";" & FileItem.Path)
Next FileItem
'// boucle sur le répertoire - si requis
If SubDir Then
For Each SubFolder In srcFolder.SubFolders
If SubFolder.Attributes = cnFolder Then
fnListFiles SubFolder.Path, True
End If
Next SubFolder
End If
'// récupérer la liste de fichiers
fnListFiles = sFL
'// libération
Set srcFolder = Nothing
Set FSO = Nothing
End Function
Dernière modification : 02/03/2010 14:33
Catégorie : - Fichiers
Page lue 7425 fois