Finestra di dialogo Apri file VBA

VBA ti permette di scegliere un file da aprire usando il Application.GetOpenFilename metodo. In questo tutorial imparerai come aprire una finestra di dialogo file e impostare i parametri.

Se vuoi imparare come aprire e chiudere un file, puoi cliccare su questo link: VBA Apri/Chiudi File

Apri una finestra di dialogo File in VBA

Se vuoi aprire un file in VBA, devi prima aprire una finestra di dialogo per scegliere un file. Ecco il codice:

123 Dim strFile As StringstrFile = Application.GetOpenFilename(FileFilter:="File Excel (*.xlsx*), *.xlsx*", Title:="Scegli un file Excel da aprire", MultiSelect:=True)

Come puoi vedere, il metodo ha diversi parametri. FileFilter ti consente di filtrare i tipi di file di cui hai bisogno, nel nostro caso i file .xlsx.

Nel Titolo parametro, è possibile impostare un titolo della finestra di dialogo. Se vuoi consentire l'apertura di più file, devi impostare Selezione multipla a Vero. Se non si imposta questo parametro, è possibile selezionare un solo file.

Immagine 1. Apri una finestra di dialogo file

Come puoi vedere nell'immagine 1, la finestra di dialogo appare con il titolo Scegli un file Excel. Vengono filtrati solo i file Excel e possiamo selezionare più file.

Apri una finestra di dialogo File in una cartella specifica

Se vuoi aprire una finestra di dialogo in una cartella specifica, devi usare il metodo .FileDialog con il parametro msoFileDialogFilePicker. Nell'esempio, apriremo una finestra di dialogo nella cartella C:\Cartella VBA. Ecco il codice:

123456789101112131415161718192021 Dim fd As Office.FileDialogDim strFile As StringImposta fd = Application.FileDialog(msoFileDialogFilePicker)Con fd.Filtri.Cancella.Filtri.Aggiungi "File Excel", "*.xlsx?", 1.Title = "Scegli un file Excel".AllowMultiSelect = False.InitialFileName = "C:\Cartella VBA"Se .Mostra = Vero AllorastrFile = .SelectedItems(1)Finisci seTermina con

Per prima cosa devi dichiarare la variabile fd genere Office.FileDialog e la variabile stringa per l'acquisizione di file:

12 Dim fd As Office.FileDialogDim strFile As String

Dopo questo, è necessario impostare fd a Application.FileDialog(msoFileDialogFilePicker):

1 Imposta fd = Application.FileDialog(msoFileDialogFilePicker)

Ora, dentro Con fd Fine con, possiamo impostare più parametri:

1234567 .Filtri.Cancella.Filtri.Aggiungi "File Excel", "*.xlsx?", 1.Title = "Scegli un file Excel".AllowMultiSelect = False

Qui cancelliamo i filtri dei file (.Filtri.Cancella) e impostarlo su .xlsx (.Filters.Add “File Excel”, “*.xlsx?”, 1).

Inoltre, possiamo impostare il titolo della finestra di dialogo: .Title = “Scegli un file Excel”.

Possiamo limitare un utente a selezionare un solo file: .AllowMultiSelect = False

Per aprire una finestra di dialogo nella cartella che vogliamo, dobbiamo inserire questa riga di codice:

1 .InitialFileName = "C:\Cartella VBA"

Alla fine ci basterà aprire la finestra di dialogo con tutti i parametri precedentemente impostati:

12345 Se .Mostra = Vero AllorastrFile = .SelectedItems(1)Finisci se

Quando eseguiamo questo codice, nella cartella viene visualizzata la finestra di dialogo per l'apertura del file C:\Cartella VBA:

Immagine 2. Apri una finestra di dialogo file in una cartella specifica

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave