Funció Dir

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 coincideixin amb el camí de cerca 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 cerca. Aquest 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 coincideixin 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 aquest atribut per a comprovar si un fitxer o un directori existeix, o per a determinar tots els fitxers i les carpetes d'un directori específic.

Per a 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 a 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 cerca complet per als fitxers, per exemple, «D:\Fitxers\*.ods». Si el camí és correcte i la cerca troba com a mínim un fitxer, la funció Dir torna el nom del primer fitxer que coincideix amb el camí de cerca. Per a tornar noms de fitxers addicionals que coincideixin amb el camí, torneu a cridar Dir, però sense arguments.

Per a retornar només directoris, utilitzeu el paràmetre d'atribut. El mateix és aplicable si voleu determinar el nom d'un volum (per exemple, una partició de disc dur).

Codis d'error

5 La crida al procediment no és vàlida

53 No s'ha trobat el fitxer

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
                ' Obtenir els directoris
                sDir = sDir & chr(13) & sValue
            End If
        End If
        sValue = Dir$
    Loop Until sValue = ""
    MsgBox sDir,0,sPath
End Sub

Ens cal la vostra ajuda!