Come verificare se esiste una cartella di lavoro in una cartella?
Per verificare se esiste una cartella di lavoro in una cartella specifica, è possibile utilizzare la funzione DIR. DIR è una funzione che rappresenta la directory. È necessario specificare il percorso del file con nome ed estensione. Se esiste un file, restituisce il nome del file, altrimenti un valore vuoto.
Scrivi il codice per verificare se esiste un file Excel in una cartella
Utilizzare i seguenti passaggi:
- Innanzitutto, specifica un intervallo o una finestra di messaggio per ottenere il risultato della funzione.
- Ora inserisci il nome della funzione “DIR” e digita le parentesi iniziali.
- Successivamente, inserisci il percorso del file utilizzando virgolette doppie e assicurati di inserire l’estensione del file insieme al nome del file.
- Successivamente, digita le parentesi di chiusura per chiudere la riga di codice.
Sub vba_Check_workbook() MsgBox Dir("C:UsersDellDesktopbook1.xlsx") End Sub
Quando esegui questa riga di codice, viene visualizzata una finestra di messaggio contenente il nome del file, il che significa che il file esiste nella posizione specificata.
Link utili: Esegui una macro – Registratore di macro – Visual Basic Editor – Manuale delle macro personali
Trova più file se esistono in una cartella
Potrebbe essere necessario controllare più file se esistono tutti in una cartella. In questo caso è possibile utilizzare il seguente codice.
Sub vba_check_workbook() Dim myFolder As String Dim myFileName As String Dim myRange As Range Dim myCell As Range Set myRange = Range("A1:A5") myFolder = "C:UsersDellDesktopData" For Each myCell In myRange myFileName = myCell.Value If Dir(myFolder & "" & myFileName) = "" Then myCell.Offset(0, 1) = "File Doesn't Exists." Else myCell.Offset(0, 1) = "File Exists" End If Next myCell End Sub
Per comprendere questo codice, l’ho diviso in tre parti.
- Nella PRIMA parte hai tutte le variabili che dobbiamo utilizzare nel codice. Una variabile da utilizzare come indirizzo della cartella, nome del file, l’intervallo in cui sono presenti tutti i nomi e ogni cella nell’intervallo.
- Nella SECONDA parte definisci l’intervallo di indirizzi in cui hai tutti i nomi dei file che vuoi controllare. E anche il percorso della cartella assegnato alla variabile.
- Nella TERZA parte hai un LOOP FOR EACH per scorrere tutti i file nella cartella. Questo ciclo utilizza DIR per abbinare tutti i nomi presenti nell’intervallo. Utilizza anche IF STATEMENT per inserire un valore nella cella corrispondente come osservazione se il file esiste o meno.
Nota: se desideri utilizzare questo codice, devi modificare il percorso della cartella e impostare l’intervallo in cui sono presenti tutti i nomi delle cartelle di lavoro.