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 : Les mémos - Fichiers
Page lue 6919 fois