Funzione DIR VBA di Excel

Dir è una delle funzioni disponibili in VBA. La funzione Dir è per le directory di riferimento nel codice VBA.
La funzione che restituisce il nome del file o della directory che corrisponde all'attributo o alla stringa specificata altrimenti restituisce il primo file o cartella. In parole semplici, se abbiamo una cartella ABC e all'interno di ABC c'è un file XYZ, allora possiamo accedere al file XYZ usando la funzione DIR in VBA.

Formula per la funzione DIR in Excel VBA

La funzione DIR ha la sintassi seguente in Excel VBA:

Ha due parti Pathname e Attributes.

  • Nome percorso : con il nome, tutti possono capire che è il percorso del file in cui esiste effettivamente il file. Se non inseriamo alcun percorso nel nome percorso, verrà restituita una stringa vuota.
  • Attributo: è un argomento facoltativo, non ne usiamo molto. Possiamo usarlo quando vogliamo aprire il file con gli attributi seguenti, quindi VBA cerca quei file.
vbArchiveSpecifica archivi o file di backup.
vbNormalNormale (impostazione predefinita) o nessun attributo.
vbReadOnlyfile di sola lettura
vbSystemFile di sistema
vbVolumeetichetta di volume; Se si utilizza qualsiasi altro attributo con questo, l'etichetta del volume viene ignorata.
vbDirectoryDirectory o cartelle.
vbHiddenfile nascosti
vbAliasIl nome del file è un alias

Come utilizzare la funzione DIR in Excel VBA?

Di seguito sono riportati i diversi esempi per utilizzare la funzione DIR in Excel utilizzando il codice VBA.

Puoi scaricare questo modello Excel VBA DIR qui - Modello Excel VBA DIR

Funzione VBA DIR - Esempio n. 1

In questo esempio, vedremo come accedere a un nome file utilizzando la funzione DIR in VBA.

Passaggio 1: vai alla scheda Sviluppatori e fai clic su Visual Basic

Passaggio 2: aprire un modulo dall'opzione di menu Inserisci come mostrato di seguito.

Passaggio 3: per avviare qualsiasi macro, innanzitutto è necessario assegnare un nome alla macro con la parola chiave "sub" come di seguito.

Codice:

 Sub myexample1 () End Sub 

Ricorda che stiamo scrivendo il nostro codice in "Module1" quando inseriamo "sub myexample ()", apparirà automaticamente "End sub".

Passaggio 4: definire una stringa utilizzando la parola chiave " Dim " che si riferisce alla dimensione. Nell'immagine seguente "mystring" è il nome della stringa.

Codice:

 Sub myexample1 () Dim mystring As String End Sub 

Ricorda ogni volta che definisci i nomi dei tipi di dati o i nomi dei programmi, non ci dovrebbe essere spazio tra due parole. "Mystring" non c'è spazio tra "my" e "string".

Il file è disponibile nella cartella di esempio disponibile sul desktop e il nome del file è "KT tracker mine".

C: \ Users \ cba_13 \ Desktop \ Sample \

Passaggio 5: ora è necessario memorizzare il nome del file in "mystring" utilizzando la funzione Dir.

Codice:

 Sub myexample1 () Dim mystring As String mystring = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") End Sub 

Nello screenshot sopra nella funzione Dir, ho fornito il percorso del file escluso il nome del file. Poiché esiste un solo file, verrà restituito il nome del file.

Passaggio 6: ora con il passaggio precedente il nome del file memorizzato nella stringa "mystring". Per visualizzare il nome del file, è necessario visualizzarlo attraverso una finestra di messaggio. Crea una finestra di messaggio.

Codice:

 Sub myexample1 () Dim mystring As String mystring = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") MsgBox (mystring) End Sub 

Abbiamo dato l'istruzione per visualizzare i dati in "mystring" attraverso la finestra di messaggio, poiché "mystring" ha un nome file che visualizzerà il nome del file attraverso la finestra di messaggio.

Passaggio 7: eseguire ora il codice facendo clic sul pulsante Riproduci o premendo il tasto F5.

Funzione VBA DIR - Esempio n. 2

In questo esempio, vedremo come aprire un file usando la funzione DIR in Excel VBA.

Passaggio 1: apri la schermata del codice VBA e inizia fornendo il nome del programma come "esempio2" o qualsiasi nome desideri.

Codice:

 Sub esempio2 () Fine Sottotitolo 

Passaggio 2: definire due stringhe con i nomi "Foldername" e "Filename".

Codice:

 Sub esempio2 () Nome cartella dim come stringa Nome file dim come stringa Sottotitolo 

Passaggio 3: ora assegnare il percorso della cartella al nome della cartella.

Codice:

 Sub esempio2 () Nome cartella fioco come stringa Nome file fioco come stringa Nome utente stringa = "C: \ Users \ cba_13 \ Desktop \ Sample \" End Sub 

Passaggio 4: assegnare il file al "nome file" utilizzando la funzione Dir. Qui abbiamo usato la variabile "Foldername" perché ha il percorso della cartella. Con l'aiuto della e commerciale, abbiamo aggiunto il nome del file al percorso.

Codice:

 Esempio secondario2 () Nome cartella fioco come stringa Nome file fioco come stringa Nome utente stringa "" C: \ Users \ cba_13 \ Desktop \ Esempio \ "Nome file = Dir (nome utente e" KT Tracker mine.xlsx ") End Sub 

Ora la funzione Dir restituisce il nome del file e verrà memorizzato nella variabile "nome file".

Passaggio 5: nell'esempio precedente, abbiamo utilizzato la finestra di messaggio per visualizzare i risultati. Ma in questo vogliamo aprire il file, quindi useremo il comando "workbooks.open".

Codice:

 Esempio secondario2 () Nome cartella dim come stringa Nome file dim come stringa Nome utente = "C: \ Users \ cba_13 \ Desktop \ Esempio \" Nome file = Dir (nome utente e "KT Tracker mine.xlsx") Workbook. Apri nome utente e nome file Fine sottotitolo 

Passaggio 6: esegui il codice sopra, si aprirà il file disponibile nella cartella "C: \ Users \ cba_13 \ Desktop \ Sample \" con il nome del file "KT Tracker mine".

Funzione VBA DIR - Esempio n. 3

Ora vedremo il programma per sapere se una cartella è disponibile o meno. Ho la cartella "Dati" come mostrato di seguito.

Dobbiamo verificare con l'aiuto della funzione Dir se la cartella "Data" è disponibile nel percorso C: \ Users \ cba_13 \ Desktop \ Sample \.

Passaggio 1: creare un nome programma e definire due stringhe con i nomi FD e FD1.

Codice:

 Sub esempio3 () Dim Fd come stringa Dim Fd1 come stringa Fine sottotitoli 

Passaggio 2: assegnare il percorso della cartella alla variabile "Fd".

Codice:

 Esempio secondario3 () Dim Fd come stringa Dim Fd1 come stringa Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" End Sub 

Passaggio 3: ora utilizzare la funzione Dir per restituire il nome della cartella come mostrato di seguito.

Codice:

 Esempio secondario3 () Dim Fd come stringa Dim Fd1 come stringa Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) End Sub 

Il risultato della funzione Dir dovrebbe essere il nome della cartella e verrà archiviato nella variabile stringa Fd1. Se la cartella "Dati" non è disponibile nella rispettiva cartella, non restituirà alcuna stringa.

Passaggio 4: ora dobbiamo verificare se Fd1 ha una cartella "Dati" oppure no. Utilizzare la condizione IF per verificare se Fd1 ha o meno la stringa "Dati". Se è disponibile, quindi stampare la dichiarazione come "Esiste".

Codice:

 Esempio secondario3 () Dim Fd come stringa Dim Fd1 come stringa Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Se Fd1 = "Data" Quindi MsgBox ("Exits") End Sub 

Passaggio 5: Nel caso in cui Fd1 non corrisponda alla cartella "Dati" stamperà la frase "Non esiste" in condizioni altrimenti.

Codice:

 Esempio secondario3 () Dim Fd come stringa Dim Fd1 come stringa Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Se Fd1 = "Data" Quindi MsgBox ("Exits") Else MsgBox ("Not Exits") End Sub 

Passaggio 6: termina il ciclo "If" come mostrato nell'immagine seguente.

Codice:

 Esempio secondario3 () Dim Fd come stringa Dim Fd1 come stringa Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Se Fd1 = "Data" Quindi MsgBox ("Exits") Else MsgBox ("Not Exits") End If End Sub 

Passaggio 7: eseguire il codice premendo il tasto F5 o facendo clic sul pulsante Riproduci per verificare se la cartella è disponibile o meno. Se la cartella "Dati" è disponibile in quella cartella, verrà restituita la finestra di messaggio con il messaggio "Esiste" come di seguito.

Passaggio 8: basta cambiare il nome della cartella come Data1.

 Esempio secondario3 () Dim Fd come stringa Dim Fd1 come stringa Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data1" Fd1 = Dir (Fd, vbDirectory) Se Fd1 = "Data" Quindi MsgBox ("Exits") Else MsgBox ("Not Exits") End If End Sub 

Passaggio 9: eseguire nuovamente il codice. Ora il risultato è "Non esiste" come mostrato di seguito.

Cose da ricordare

  • Gli argomenti nella funzione Dir sono facoltativi.
  • Se vogliamo file nascosti, cartelle o tipi diversi di directory, menzionate le vostre esigenze nel secondo argomento.
  • Usa "\" alla fine del nome della cartella mentre dai la funzione Dir per andare nella cartella.
  • Se vogliamo chiamare o aprire più file, possiamo usare il carattere jolly "*" o "?".

Articoli consigliati

Questa è una guida alla funzione VBA DIR. Qui discutiamo come utilizzare la funzione DIR in Excel VBA insieme ad alcuni esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Cartella di lavoro VBA
  2. Funzione INDIRETTA in Excel
  3. Conteggio VBA
  4. Funzione Excel XOR

Categoria: