Excel VBA Chdir
"ChDir" può essere definito come " Cambia directory". Utilizzando "ChDir", possiamo modificare la directory predefinita corrente utilizzata in VBA durante la ricerca dei file senza un percorso completo. Ad esempio, quando proviamo a salvare il file come nuovo file per impostazione predefinita, potremmo vedere che l'unità configurata dal sistema si apre e da lì in poi selezioniamo la cartella che desideriamo salvare.
Hai mai pensato che possiamo cambiare la finestra di selezione delle cartelle predefinita secondo i nostri desideri? Sì, possiamo farlo!
Ora diamo un'occhiata alla sintassi della funzione ChDir in VBA.
![](https://cdn.know-base.net/9164532/vba_chdir_how_to_change_directory_using_excel_vba_chdir_function__2.png.webp)
Percorso: qui è dove dobbiamo menzionare il percorso della cartella che desideriamo aprire per impostazione predefinita quando proviamo ad aprire o salvare il file con un nome diverso.
Il percorso dovrebbe essere menzionato tra virgolette doppie.
![](https://cdn.know-base.net/9164532/vba_chdir_how_to_change_directory_using_excel_vba_chdir_function_.png.webp)
Esempi di funzione ChDir in VBA
Di seguito sono riportati gli esempi di Excel VBA ChDir.
Esempio 1
Ora dai un'occhiata prima al codice VBA sottostante.
Codice:
Sub ChDir_Example1 () Dim FD As FileDialog Dim ND As String Set FD = Application.FileDialog (msoFileDialogFilePicker) With FD .Title = "Scegli il tuo file" .AllowMultiSelect = False .Show End With End Sub
![](https://cdn.know-base.net/9164532/vba_chdir_how_to_change_directory_using_excel_vba_chdir_function__3.png.webp)
Quando eseguo questo codice usando il tasto F5 o manualmente, si aprirà prima la finestra predefinita di seguito.
![](https://cdn.know-base.net/9164532/vba_chdir_how_to_change_directory_using_excel_vba_chdir_function__4.png.webp)
Da qui in poi, devo passare attraverso varie cartelle e sottocartelle per selezionare i file che desidero aprire utilizzando il codice VBA.
Questo richiederà molto tempo! Se devo passare attraverso varie cartelle, potrebbe anche portare a una selezione di file errata a causa di varie sottocartelle e ciò aggiunge ulteriore confusione.
Cosa succede se il mio codice può aprire la cartella specifica in cui è necessario scegliere il mio file ??
Non è un'opzione interessante da avere?
Sì, proviamolo.
Prima di trasmettere il nostro codice, dobbiamo usare la funzione ChDir e menzionare il percorso della cartella tra virgolette.
ChDir "D: Articoli File Excel"
Il codice sopra, per impostazione predefinita, cambierà la directory da aprire nell'unità "D" e nella cartella "Articoli" dell'unità D , e in questa cartella, la sottocartella da aprire è "File Excel".
Codice:
Sub ChDir_Example2 () Dim Filename As Variant ChDir "D: Articles Excel Files" Filename = Application.GetSaveAsFilename () If TypeName (Filename) "Boolean" Then MsgBox Filename End If End Sub
![](https://cdn.know-base.net/9164532/vba_chdir_how_to_change_directory_using_excel_vba_chdir_function__5.png.webp)
Ora eseguirò il codice manualmente o premendo il tasto F5 e vedrò quale directory dei file si apre.
![](https://cdn.know-base.net/9164532/vba_chdir_how_to_change_directory_using_excel_vba_chdir_function__6.png.webp)
Come possiamo vedere nell'immagine sopra, ho ottenuto la finestra predefinita secondo le mie specifiche.
Nel caso in cui la funzione ChDir non mostri la directory di file menzionata, è necessario prima cambiare l' unità e quindi applicare la funzione ChDir .
Per cambiare l'unità, dobbiamo utilizzare la funzione "ChDir" . Dato che voglio prima aprire il file nell'unità "D" , devo cambiare l'unità in "D."
ChDrive "D"
Il codice sopra cambierà l'unità in "E"
Codice:
Sub ChDir_Example2 () Dim Filename As Variant ChDrive "D" ChDir "D: Articles Excel Files" Filename = Application.GetSaveAsFilename () If TypeName (Filename) "Boolean" Then MsgBox Filename End If End Sub
![](https://cdn.know-base.net/9164532/vba_chdir_how_to_change_directory_using_excel_vba_chdir_function__7.png.webp)
In questo modo, utilizzando la funzione " ChDir " di VBA , possiamo modificare la directory dei file predefinita a nostro piacimento.