Come utilizzare la funzione VBA DIR in Excel (7 esempi pratici)

  • Condividi Questo
Hugh West

Il DIR funzione in VBA mostra principalmente la directory o i file di una determinata cartella. Con questa funzione si può anche restituire il primo file. Questa funzione è molto utile per ottenere file e cartelle specifici. È sufficiente inserire il percorso del file nel pathname della funzione VBA Si potrebbe trovare più difficile utilizzare il codice VBA DIR Non preoccupatevi, in questo articolo vi mostreremo alcuni esempi per una migliore visualizzazione dell'utilizzo del codice VBA DIR Spero che dopo aver letto l'articolo siate in grado di utilizzare la funzione. Quindi, iniziamo.

Scarica il quaderno di esercizi

Scaricate il seguente eserciziario, che vi aiuterà a comprendere meglio la materia.

Funzione DIR.xlsm

Introduzione alla funzione DIR

Sintesi:

Il VBA DIR restituisce il nome di un file o di una directory da un determinato percorso di cartella. Convenzionalmente, restituisce il primo file.

Sintassi:

Dir [ (pathname, [ attributi ] ] ]

Argomenti Spiegazione:

Argomento Richiesto/facoltativo Spiegazione
Nome del percorso Opzionale Percorso per accedere e specifica il file
Attributi Opzionale Costante o espressione numerica specifica gli attributi dei file corrispondenti

Esistono alcuni attributi predefiniti, che sono...

Nome dell'attributo Descrizione
vbNormale File senza attributi specifici
vbSolo lettura File di sola lettura senza attributi
vbNascosto File nascosti senza attributi
vbSystem File di sistema senza attributi
vbVolume Etichetta del volume
vbDirectory Directory o cartelle senza attributi
vbAlias Il nome del file specificato è un alias

7 esempi di utilizzo della funzione VBA DIR in Excel

Dalla descrizione, potreste aver capito che il VBA DIR fornisce il nome del file a partire dal nome del percorso fornito. Vediamo un esempio. Abbiamo creato una cartella Cartella_Eccellente per mostrare vari esempi. In questa cartella sono presenti diverse piccole cartelle e file.

1. Trovare il nome del file dal percorso

Nella nostra cartella, possiamo trovare un file specifico dichiarando il percorso del nome del file.

Dopo aver copiato il percorso del file, è necessario eseguire il codice.

Per questo motivo, andare alla pagina Sviluppatore scheda>> scegliere Visual Basic . Poi vai a Inserire selezionare Modulo. Nel Generale scriviamo il codice.

Poiché il nostro programma è quello di trovare il Nome del file dal nome del percorso, imposteremo il nome del percorso completo (dalla radice al file) e il nostro codice sarà

 Sub FileNames() Dim FN As String FN = Dir("E:\Exceldemy\Sales_of_January.xlsx") MsgBox FN End Sub 

Qui, nel nostro codice, abbiamo impostato il nome del percorso come E:■Exceldemy_Sales_of_January.xlsx

Ripartizione del codice:

  • Inizialmente, abbiamo dichiarato una variabile stringa chiamata FN E l'uscita del programma Dir è stato salvato in questa variabile.
  • Successivamente, il Dir trova il nome del file e lo restituisce dal percorso fornito.
  • Poi il MsgBox imposta l'uscita attraverso la casella di messaggio. Il parametro MsgBox restituisce l'output tramite una casella di messaggio.
  • Quindi, eseguire il codice con l'opzione F5 chiave.

Infine, abbiamo trovato il file denominato Vendite_di_gennaio.xlsx .

2. Verificare l'esistenza di una directory

Possiamo verificare l'esistenza di una directory utilizzando il metodo Dir Scriviamo il codice per verificare se la funzione Exceldemy Scrivere il seguente codice nel riquadro generale ed eseguirlo con il comando F5 chiave.

 Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " exists" Else MsgBox "The file doesn't exist" End If End Sub 

Ripartizione del codice:

  • Abbiamo dichiarato due variabili; PN contiene il percorso completo della nostra directory di controllo.
  • Qui, all'interno del Dir abbiamo impostato due valori, il nome del percorso e il valore dell'attributo come vbDirectory Il valore di questo attributo aiuta a individuare la directory. L'output di questa funzione viene memorizzato nella cartella File variabile.
  • Quindi si controlla se la variabile è vuota o meno. Se si scopre che la variabile non lo è, allora si dichiara l'esistenza della directory attraverso una casella di messaggio, altrimenti il ritorno non esiste.

Qui, il Exceldemy esiste, quindi troveremo " Esiste Exceldemy ", dove Exceldemy è il nome della cartella.

3. Creare una cartella inesistente

È possibile creare una cartella che non esiste sul PC. A tal fine, è necessario creare un nome di percorso che non esiste nelle cartelle. Immaginiamo di creare una cartella chiamata Exceldemy_1 Utilizzeremo il MkDir per creare la directory, ma prima di ciò è necessario scrivere il seguente comando VBA codice.

 Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy_1" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " La cartella file esiste" Else MkDir PN MsgBox "È stata creata una cartella file con il nome" & File End If End Sub 

Qui abbiamo scritto un comando per creare la cartella utilizzando il percorso del file Altro del nostro codice. Correre il codice con l'opzione F5 chiave.

La cartella è stata creata. Osserviamo la cartella della directory. Il file Exceldemy_1 è ora visibile sul computer.

Letture simili:

  • Come chiamare una sub in VBA in Excel (4 esempi)
  • Restituzione di un valore in una funzione VBA (sia per valori di array che per valori non di array)
  • Utilizzare la funzione VBA UCASE in Excel (4 esempi)
  • Come utilizzare la funzione TRIM in VBA in Excel (definizione + codice VBA)

4. Trovare il primo file di una directory

Il compito principale del Dir Tutto ciò che occorre fornire all'interno della funzione è il nome del percorso (fino alla directory contenitore) e la funzione restituirà il primo file di quella directory.

Troviamo il primo file dal nostro Exceldemy Il nostro codice sarà

 Sub FirstFileinFolder() Dim FN As String Dim PN As String PN = "E:\Exceldemy\" FN = Dir(PN) MsgBox "First File: " & FN End Sub 

Si può vedere il codice di base; abbiamo passato il nome del percorso nel metodo Dir funzione. ora Correre il codice con l'opzione F5 si troverà il primo file di questa directory.

5. Trovare tutti i file di una directory

Nella sezione precedente abbiamo visto come trovare il primo nome di file di una directory. La situazione può presentarsi quando è necessario trovare tutti i file di una directory specifica. Per trovare tutti i file di una directory specifica, è necessario scrivere quanto segue VBA codice.

 Sub AllFile() Dim FN As String Dim FL As String FN = Dir("E:\Exceldemy\") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("Elenco file:" & FL) End Sub 

Ecco due variabili per memorizzare i nomi dei file come un singolo ( FN ) e come elenco ( FL ). Il Fare mentre itera fino a quando non rimane più alcun file nella directory; utilizzando questo ciclo, spingiamo ogni nome di file nella cartella FL variabile.

Eseguite il codice e troverete tutti i file nella directory, come nell'immagine seguente.

6. Trovare tutti i file e le cartelle di una directory

Nella sezione precedente abbiamo indicato dove trovare tutti i file. Possiamo anche trovare tutte le sottocartelle di una cartella. Per farlo, scrivete quanto segue VBA che abbiamo allegato di seguito.

 Sub AllFileFolders() Dim AN As String Dim Lst As String AN = Dir("E:\Exceldemy_Folder\", vbDirectory) Do While AN "" Lst = Lst & vbNewLine & AN = Dir() Loop MsgBox ("File Lst:" & Lst) End Sub 

Il cambiamento nel nostro codice è solo l'uso dei parametri degli attributi. Abbiamo usato il parametro vbDirectory in quel campo. Correre il codice, e troverete tutti i file e le sottocartelle di Cartella_Eccellente .

7. Trovare tutti i file di un tipo specifico

Utilizzando il VBA Dir è possibile trovare qualsiasi tipo di file. Vediamo un esempio.

Troveremo .csv Il nostro codice sarà come il seguente.

 Sub SpecialTypeFiles() Dim FL As String Dim FN As String FN = Dir("E:\Exceldemy_Folder\Exceldemy\*.csv") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("Elenco dei file .csv:" & FL) End Sub 

Speriamo che abbiate capito il codice, che utilizza un meccanismo simile per trovare i file. Nel nome del percorso, abbiamo usato un carattere jolly ( * ). Questo asterisco (*) indica che può essere presente qualsiasi carattere fino a qualsiasi numero. Il carattere jolly è stato utilizzato in modo tale che il nome del file può essere qualsiasi cosa ma deve essere un numero .csv file.

Quando si esegue il codice, questo restituirà il valore .csv dai nostri file Exceldemy directory.

Sezione pratica

Per esercitarvi, abbiamo previsto una sezione di pratica su ogni foglio sul lato destro. Fatelo da soli.

Conclusione

Questo è tutto ciò che riguarda la sessione di oggi. E questi sono alcuni semplici esempi del VBA Dir Fateci sapere nella sezione commenti se avete domande o suggerimenti. Per una migliore comprensione, scaricate la scheda pratica e visitate il nostro sito web, Exceldemy Per conoscere i diversi tipi di metodi di Excel, vi invitiamo a consultare il sito di Excel, un fornitore unico di soluzioni di Excel. Grazie per la pazienza con cui avete letto questo articolo.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.