IBM Lotus Symphony
|
Renvoie le nom d'un fichier, d'un répertoire ou de tous les fichiers et répertoires qui se trouvent sur une unité ou dans un répertoire correspondant au chemin de recherche indiqué.
Dir [(Text As String) [, Attrib As Integer]]
Chaîne de caractères
Text : expression de type chaîne de caractères qui indique le chemin de recherche, le répertoire ou le fichier. Cet argument ne peut être spécifié que lors du premier appel de la fonction Dir. Si vous le souhaitez, vous pouvez entrer le chemin d'accès en notation URL.
Attrib : expression de type nombre entier qui indique les attributs de fichier bit par bit. La fonction Dir renvoie uniquement les fichiers ou répertoires qui correspondent aux attributs spécifiés. Vous pouvez combiner plusieurs attributs en ajoutant les valeurs d'attribut :
0 : fichiers normaux.
16 : renvoie le nom du répertoire uniquement.
Utilisez cet attribut pour vérifier si un fichier ou un répertoire existe, ou pour déterminer tous les fichiers et dossiers présents dans un répertoire spécifique.
Pour vérifier si un fichier existe, entrez le chemin d'accès et le nom complets du fichier. Si le nom du fichier ou du répertoire n'existe pas, la fonction Dir renvoie une chaîne de longueur zéro ("").
Pour générer la liste de tous les fichiers existant dans un répertoire spécifique, procédez comme suit : lors du premier appel de la fonction Dir, indiquez le chemin de recherche complet des fichiers, par exemple, "D:\Files\*.sxw". Si le chemin d'accès est correct et que la recherche trouve au moins un fichier, la fonction Dir renvoie le nom du premier fichier correspondant au chemin de recherche. Pour renvoyer des noms de fichiers supplémentaires correspondant au chemin d'accès, appelez à nouveau la fonction Dir, mais sans arguments.
Pour renvoyer des répertoires uniquement, utilisez le paramètre d'attribut. Procédez de même pour déterminer le nom d'un volume (par exemple, une partition de disque dur).
Sub ExampleDir
REM Affiche tous les fichiers et répertoires
Dim sPath As String
Dim sDir as String, sValue as String
sDir="Directories:"
sPath = CurDir
sValue = Dir$(sPath + getPathSeparator + "*",16)
Do
If sValue <> "." and sValue <> ".." Then
if (GetAttr( sPath + getPathSeparator + sValue) AND 16) >0 then
REM Accédez aux répertoires
sDir = sDir & chr(13) & sValue
End If
End If
sValue = Dir$
Loop Until sValue = ""
MsgBox sDir,0,sPath
End sub