Contenuto

# Funzione Dir

Restituisce il nome di un file, di una cartella o di tutti i file e le cartelle contenuti in un dispositivo o in una cartella che corrisponde al percorso di ricerca specificato.

### Sintassi:

    Dir [(PathName As String [, Attributes As Integer])]

### Valore restituito:

String

### Parametri:

PathName: stringa che specifica il percorso di ricerca, la cartella o il file. L'argomento può essere specificato solo la prima volta che viene chiamata la funzione Dir. Se necessario, è possibile inserire il percorso in forma di notazione URL.

Attributes: numero intero che specifica gli attributi del file in bit. La funzione Dir restituisce solo i file o le cartelle che corrispondono agli attributi specificati. È possibile combinare diversi attributi sommandone i valori:

0 : File normali.

16 : Restituisce solo il nome della cartella.

Questo attributo permette di controllare l'esistenza di un file o di una cartella, o di determinare tutti i file e le cartelle contenuti in una cartella specifica.

Per controllare l'esistenza di un file, inserite il percorso completo e il nome del file. Se il file o la cartella non esiste, la funzione Dir restituisce una stringa di lunghezza zero ("").

Per generare un elenco completo dei file contenuti in una cartella specifica, procedete come segue: La prima volta che chiamate la funzione Dir, specificate il percorso di ricerca completo per i file, ad esempio, "D:\Files\*.ods". Se il percorso è corretto e la ricerca restituisce almeno un file, la funzione Dir restituisce il nome del primo file che corrisponde al percorso di ricerca. Per restituire altri nomi di file che corrispondano al percorso, chiamate nuovamente la funzione Dir, ma senza argomenti.

Per restituire solo i nomi delle cartelle, usate il parametro dell'attributo. Lo stesso vale se volete determinare il nome di un volume (ad esempio, una partizione di un disco rigido).

### Codici di errore:

5 Richiamo di procedura non valido

53 File non trovato

### Esempio:

    Sub ExampleDir
    ' Visualizza tutti i file e le cartelle
    Dim sPath As String
    Dim sDir As String, sValue As String
        sDir="Cartelle:"
        sPath = CurDir
        sValue = Dir$(sPath + getPathSeparator + "*",16)
        Do
            If sValue <> "." And sValue <> ".." Then
                If (GetAttr( sPath + getPathSeparator + sValue) And 16) >0 Then
                    ' Restituisce le cartelle
                    sDir = sDir & chr(13) & sValue
                End If
            End If
            sValue = Dir$
        Loop Until sValue = ""
        MsgBox sDir,0,sPath
    End Sub

Argomenti correlati

Funzione CurDir

Funzione CompatibilityMode()

Istruzione Option VBASupport