FileDialog Excel VBA

Durante il lavoro potrebbero esserci alcuni scenari in cui è necessario aprire alcune cartelle di lavoro o altri file per importare dati o fare riferimento. Esiste un metodo per fornire un percorso del file nel nostro codice in VBA che aprirà il file o la cartella per noi. E se non ricordassimo il percorso come possiamo aprire il file. Potrebbe essere necessario cercare prima il percorso e poi fornire nuovamente il percorso. VBA viene fornito con una soluzione nota come FileDialog.

FileDialog è una proprietà in VBA che ci consente di aprire un file o una cartella da un percorso. Usando questa proprietà un utente non deve specificare il percorso della cartella invece l'utente può selezionare il percorso. Non solo, FileDialog ha un totale di quattro proprietà. Sono anche conosciute come costanti per questa proprietà. Sono i seguenti:

  1. msoFileDialogFilePicker : questo consente all'utente di selezionare un file.
  2. msoFileDialogFolderPicker : questo consente all'utente di selezionare una cartella.
  3. msoFileDialogOpen : questo consente all'utente di aprire un file.
  4. msoFileDialogSaveAs: questo consente all'utente di salvare un file.

Il metodo di utilizzo di questo oggetto in VBA è il seguente.

Application.FIledialog (Tipo di filedialog)

Il tipo FileDialog può essere uno dei quattro tipi sopra indicati. Ora usiamo questo oggetto negli esempi per conoscere più chiaramente questa proprietà dell'oggetto.

Come utilizzare FileDialog di Excel VBA?

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

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

FileDialog Excel VBA - Esempio n. 1

Innanzitutto, aiutiamo l'utente a selezionare un file da una destinazione. In questo esempio, l'utente selezionerà un file dalla cartella e visualizzeremo il percorso per il file selezionato.

Segui i passaggi seguenti per utilizzare Excel VD FileDialog:

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: avviare la sottoprocedura per iniziare a lavorare sull'esempio.

Codice:

 Sub SelectFile () End Sub 

Passaggio 4: dichiarare una variabile come Filedialog come mostrato di seguito.

Codice:

 Sub SelectFile () Dim File As FileDialog End Sub 

Passaggio 5: ora usiamo questo oggetto dal metodo Application.Filedialog come segue.

Passaggio 6: Una volta aperta la parentesi possiamo vedere l'opzione per quattro tipi di FileDialog come mostrato nell'immagine qui sotto.

Passaggio 7: selezionare l'opzione di tipo Filedialog come msoFileDialogFilePicker

Codice:

 Sottofile SelectFile () Dim File come FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) End Sub 

Step 8: Ora dobbiamo creare la finestra di dialogo per questo esempio, usiamo With Statement come segue.

Codice:

 Sottofile SelectFile () Dim File come FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) Con File End With End Sub 

Passaggio 9: se sono presenti filtri, è necessario eliminarli, inserire un'istruzione dot e scrivere l'istruzione come mostrato di seguito.

Codice:

 Sottofile SelectFile () Dim File come FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) Con File .Filters.Clear End With End Sub 

Passaggio 10: Ora vogliamo che l'utente selezioni più file contemporaneamente o un singolo file? Per questo esempio cerchiamo di attenerci al singolo file alla volta, quindi usa .Allowmultiseleziona come falso.

Codice:

 Sottofile SelectFile () Dim File come FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) Con File .Filters.Clear .AllowMultiSelect = False End With End Sub 

Passo 11: Ora per mostrare la finestra di dialogo possiamo scrivere .show per mostrare la finestra di dialogo come segue.

Codice:

 Sottofile SelectFile () Dim File come FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) Con File .Filters.Clear .AllowMultiSelect = False .Show End With End Sub 

Passaggio 12: Una volta eseguito il codice precedente, possiamo vedere la finestra di dialogo come segue.

Passaggio 13: poiché è necessario visualizzare il percorso utente selezionato, dichiarare un'altra variabile come stringa nel codice.

Codice:

 Sottofile SelectFile () Dim File come FileDialog Dim Dim come String Set File = Application.FileDialog (msoFileDialogFilePicker) Con File .Filters.Clear .AllowMultiSelect = False .Mostra fine con fine sub 

Passaggio 14: useremo un'istruzione selecteditems per trovare il percorso dell'utente del file selezionato e memorizzarlo nella nostra variabile come segue.

Codice:

 Sottofile SelectFile () Dim File As FileDialog Dim Dim As String Set File = Application.FileDialog (msoFileDialogFilePicker) Con File .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End With End Sub 

Passaggio 15: Dopo l'istruzione With, utilizzare la funzione msgbox per visualizzare l'indirizzo del file selezionato.

Codice:

 Sottofile SelectFile () Dim File As FileDialog Dim Dim As String Set File = Application.FileDialog (msoFileDialogFilePicker) Con File .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End With MsgBox Path End Sub 

Passaggio 16: eseguiamo il codice sopra e selezioniamo un file e premiamo ok per vedere il percorso come segue.

FileDialog Excel VBA - Esempio n. 2

Vediamo ora un'altra opzione dell'oggetto FileDialog VBA che è msoFileDialogSaveAs. Questa proprietà viene utilizzata per salvare un file su qualsiasi percorso. Segui i passaggi seguenti per utilizzare Excel VD FileDialog.

Passaggio 1: nello stesso modulo scriviamo un'altra procedura secondaria per salvare il file come segue.

Codice:

 Sub SaveFile () End Sub 

Passaggio 2: ora dichiarare due variabili una come stringa mentre un'altra come numero intero.

Codice:

 Sub SaveFile () Dim Scelta come numero intero, Percorso come stringa Fine Sottotitolo 

Passo 3: Ora rendiamo visibile la finestra di dialogo all'utente usando la proprietà show come segue.

Codice:

 Sub SaveFile () Dim Scelta come numero intero, Percorso come stringa Scelta = Application.FileDialog (msoFileDialogSaveAs) .Mostra fine sottotitoli 

Passaggio 4: ora utilizzare l'istruzione IF per determinare la scelta dell'utente come segue.

Codice:

 Sub SaveFile () Dim Scelta come numero intero, Percorso come stringa Scelta = Application.FileDialog (msoFileDialogSaveAs) .Mostra se scelta 0 quindi termina sub 

Passaggio 5: Ora cerchiamo di ottenere il percorso selezionato dall'utente nella nostra variabile di percorso come segue.

Codice:

 Sub SaveFile () Dim Scelta come intero, Percorso come stringa Scelta = Application.FileDialog (msoFileDialogSaveAs) .Mostra se scelta 0 Quindi Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) End Sub 

Passaggio 6: ora visualizziamo il risultato utilizzando la funzione msgbox e terminiamo il ciclo IF.

Codice:

 Sub SaveFile () Dim Scelta come intero, Percorso come stringa Scelta = Application.FileDialog (msoFileDialogSaveAs) .Mostra se scelta 0 Quindi Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) MsgBox Path End If End Sub 

Passo 7: Ora esegui il codice sopra e vedi il risultato, apre una finestra di dialogo per salvare il file.

Passaggio 8: assegnare un nome al file e premere Salva per fornirci il percorso per il file come segue.

Cose da ricordare

  • FileDialog è una proprietà dell'oggetto di VBA.
  • Non è necessario specificare il percorso per codificare usando questo oggetto.
  • Usando l'operatore punto possiamo vedere e usare le proprietà IntelliSense dell'oggetto.

Articoli consigliati

Questa è una guida a VBA FileDialog. Qui discutiamo come usare l'oggetto FileDialog in Excel usando il codice VBA insieme ad alcuni esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Il file di controllo VBA esiste
  2. Risolvi l'equazione in Excel
  3. VBA Elimina file
  4. Come stampare etichette da Excel?
  5. Esempi per scrivere codice VBA

Categoria: