Dir Function
Torna el nom d'un fitxer, d'un directori, o de tots els fitxers i els directoris d'una unitat o d'un directori que coincidisquen amb el camà de busca especificat.
Sintaxi:
Dir [(Text As String) [, Attrib As Integer]]
Valor de retorn:
Cadena
Parà metres:
Text: Qualsevol expressió de cadena que especifica el camÃ, directori o fitxer de busca. Este argument només es pot especificar la primera vegada que crideu la funció Dir. Si ho voleu, podeu introduir el camà en notació URL.
Atribut: Qualsevol expressió d'enter que especifica atributs de fitxer bit a bit. La funció Dir només torna fitxers o directoris que coincidisquen amb els atributs especificats. Podeu combinar diferents atributs afegint els valors d'atribut:
0 : Fitxers normals.
16 : Torna només el nom del directori.
Utilitzeu este atribut per comprovar si un fitxer o un directori existeix, o per determinar tots els fitxers i les carpetes d'un directori especÃfic.
Per comprovar si un fitxer existeix, introduïu el camà sencer i el nom del fitxer. Si el nom de fitxer o de directori no existeixen, la funció Dir torna una cadena de longitud zero ("").
Per generar una llista de tots els fitxers existents en un directori especÃfic, procediu tal com s'indica a continuació: la primera vegada que crideu la funció Dir, especifiqueu el camà de busca complet per als fitxers, per exemple, «D:\Fitxers\*.ods». Si el camà és correcte i la busca troba com a mÃnim un fitxer, la funció Dir torna el nom del primer fitxer que coincideix amb el camà de busca. Per tornar noms de fitxers addicionals que coincidisquen amb el camÃ, torneu a cridar Dir, però sense arguments.
To return directories only, use the attribute parameter. The same applies if you want to determine the name of a volume (for example, a hard drive partition).
Exemple:
Sub ExampleDir
' Mostra tots els fitxers i directoris
Dim sPath As String
Dim sDir As String, sValue As String
sDir="Directoris:"
sPath = CurDir
sValue = Dir$(sPath + getPathSeparator + "*",16)
Do
If sValue <> "." And sValue <> ".." Then
If (GetAttr( sPath + getPathSeparator + sValue) And 16) >0 Then
' Obtindre els directoris
sDir = sDir & chr(13) & sValue
End If
End If
sValue = Dir$
Loop Until sValue = ""
MsgBox sDir,0,sPath
End Sub