Nota: La funzione, il metodo, la proprietà o l'oggetto descritto in questo argomento è disabilitato se Microsoft Jet Expression Service è in esecuzione in modalità sandbox, che impedisce la valutazione delle espressioni potenzialmente pericolose. Per altre informazioni sulla modalità sandbox, cercare "modalità sandbox" nella Guida.
Restituisce una stringa che rappresenta il nome di un file, una directory o una cartella che corrisponde a un attributo di file o un criterio specificato oppure all'etichetta di volume di un'unità.
Sintassi
Dir[(percorso [, attributi] )]
La sintassi della funzione Dir ha gli argomenti seguenti:
Argomento |
Descrizione |
percorso |
Facoltativo. Espressione stringa che specifica un nome file e può includere la directory o la cartella e l'unità. Se non è possibile trovare percorso, viene restituita una stringa di lunghezza zero (""). |
attributi |
Facoltativo. Costante o espressione numerica, la cui somma specifica gli attributi di file. Se questo argomento viene omesso, vengono restituiti i file che corrispondono a percorso ma non hanno attributi. |
Impostazioni
Le impostazioni di attributiargomento sono:
Costante |
Valore |
Descrizione |
vbNormal |
0 |
(Impostazione predefinita) Specifica i file senza attributi. |
vbReadOnly |
1 |
Specifica i file di sola lettura oltre ai file senza attributi. |
vbHidden |
2 |
Specifica i file nascosti oltre ai file senza attributi. |
VbSystem |
4 |
Specifica i file di sistema oltre ai file senza attributi. Non disponibile con Macintosh. |
vbVolume |
8 |
Specifica l'etichetta del volume; se vengono specificati altri attributi, vbVolume viene ignorato. Non disponibile con Macintosh. |
vbDirectory |
16 |
Specifica le directory o le cartelle oltre ai file senza attributi. |
vbAlias |
64 |
Il nome file specificato è un alias. Disponibile solo con Macintosh. |
Nota: Queste costanti vengono specificate da Visual Basic, Applications Edition (VBA) e possono essere usate in un punto qualsiasi del codice al posto dei valori effettivi.
Osservazioni
In Microsoft Windows Dir supporta l'uso dei caratteri jolly per più caratteri (*) e per un singolo carattere (?), per specificare più file. Nei computer Macintosh questi caratteri vengono trattati come caratteri di nomi file validi e non possono essere usati come caratteri jolly per specificare più file.
Poiché Macintosh non supporta i caratteri jolly, usare il tipo di file per identificare gruppi di file. È possibile usare la funzione MacID per specificare il tipo di file invece di usare i nomi file. L'istruzione seguente restituisce ad esempio il nome del primo file di testo nella cartella corrente:
Dir("SomePath", MacID("TEXT"))
Per scorrere tutti i file in una cartella, specificare una stringa vuota:
Dir("")
Se si usa la funzione MacID con Dir in Windows, si verifica un errore.
Qualsiasi valore di attributi maggiore di 256 viene considerato come un valore di MacID.
È necessario specificare percorso la prima volta che si chiama la funzione Dir, altrimenti viene generato un errore. Se si specificano anche gli attributi di file, è necessario includere percorso.
Dir restituisce il primo nome file che corrisponde a percorso. Per ottenere altri nomi file corrispondenti a percorso, chiamare di nuovo Dir senza argomenti. Quando non ci sono altri nomi file corrispondenti, Dir restituisce una stringa di lunghezza zero (""). Quando viene restituita una stringa di lunghezza zero, è necessario specificare percorso nelle chiamate successive, altrimenti viene generato un errore. È possibile passare a un nuovo valore per percorso senza recuperare tutti i nomi file corrispondenti al valore di percorso corrente. Non è tuttavia possibile chiamare la funzione Dir in modo ricorsivo. La chiamata di Dir con l'attributo vbDirectory non restituisce continuamente sottodirectory.
Suggerimento Poiché i nomi file vengono recuperati senza un ordine specifico, è consigliabile archiviare i nomi file restituiti in una matrice e quindi ordinare la matrice.
Esempio
Nota: Gli esempi seguenti illustrano l'uso di questa funzione in un modulo di Visual Basic, Applications Edition (VBA). Per altre informazioni sull'uso di VBA, selezionare Riferimenti per sviluppatori nell'elenco a discesa accanto a Cerca e immettere uno o più termini nella casella di ricerca.
Questo esempio usa la funzione Dir per verificare l'esistenza di determinati file e directory. Nei computer Macintosh "HD:" è il nome di unità predefinito e le parti del percorso sono separate da due punti invece che da barre rovesciate. Nei computer Macintosh inoltre i caratteri jolly di Windows vengono trattati come caratteri di nomi file validi. È tuttavia possibile usare la funzione MacID per specificare gruppi di file.
Dim MyFile, MyPath, MyName
' Returns "WIN.INI" (on Microsoft Windows) if it exists. MyFile = Dir("C:\WINDOWS\WIN.INI") ' Returns filename with specified extension. If more than one *.ini ' file exists, the first file found is returned. MyFile = Dir("C:\WINDOWS\*.INI") ' Call Dir again without arguments to return the next *.INI file in the ' same directory. MyFile = Dir ' Return first *.TXT file with a set hidden attribute. MyFile = Dir("*.TXT", vbHidden) ' Display the names in C:\ that represent directories. MyPath = "c:\" ' Set the path. MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry. Do While MyName <> "" ' Start the loop. ' Ignore the current directory and the encompassing directory. If MyName <> "." And MyName <> ".." Then ' Use bitwise comparison to make sure MyName is a directory. If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then Debug.Print MyName ' Display entry only if it End If ' it represents a directory. End If MyName = Dir ' Get next entry. Loop