Contingut

# 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 [(PathName As String [, Attributes As Integer])]

### Valor de retorn:

Cadena

### Paràmetres:

PathName: Any string expression that specifies the search path, directory or file. This argument can only be specified the first time that you call the Dir function. If you want, you can enter the path in URL notation.

Attributes:Any integer expression that specifies bitwise file attributes. The Dir function only returns files or directories that match the specified attributes. You can combine several attributes by adding the attribute values:

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

Temes relacionats

Funció CurDir

COMpatibilityMode() Funció

Opció VBASupport Expressió