Sommario
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.xlsmIntroduzione 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.