Aplicació
Contingut
Índex 🔎︎

# 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 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 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 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 tornar noms de fitxers addicionals que coincideixin 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).

## 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