VBA GetOpenFilename

GetOpenFilename è un metodo che è anche un attributo di FSO, questo metodo viene utilizzato in VBA per trovare un determinato file con un nome file e selezionarlo, il fattore importante in questo metodo è il percorso del nome del file fornito per aprirlo, noi possiamo passare il percorso del nome del file nella funzione oppure possiamo chiedere all'utente di presentare un percorso del file per selezionarlo.

Excel VBA Application.GetOpenFilename

Ci sono situazioni in cui dobbiamo accedere al nome del file specifico e questo può essere possibile con la codifica VBA. Per accedere al file, dobbiamo menzionare anche il percorso della cartella e il nome del file insieme alla sua estensione. Per ottenere il nome del file, molti programmatori forniranno la casella di input VBA come opzioni per inserire il percorso e il nome del file. Ma questa non è una buona opzione per esercitarsi, perché quando si presenta una casella di input di fronte all'utente, non sempre ricordano il percorso del file, le barre rovesciate per separare una cartella da un'altra cartella, i nomi dei file e l'estensione dei file . Questo rende l'input fornito dall'utente più complicato e alla fine, tutto sarà incasinato anche se c'è un piccolo errore di carattere spaziale. Il modo migliore è sostituire la casella di input con il metodo di VBA chiamato "GetOpenFileName".

In questo articolo, ti mostreremo come utilizzare VBA GetOpenFileName per ottenere il nome del file senza errori.

Cosa fa GetOpenFilename in Excel VBA?

VBA "GetOpenFileName" consente all'utente di selezionare il file dal computer su cui stiamo lavorando senza aprire il file.

Con l'aiuto del metodo "GetOpenFileName", possiamo effettivamente presentare una finestra di dialogo davanti all'utente per selezionare il file nella cartella richiesta. "GetOpenFileName" copierà il percorso del file insieme al nome del file e all'estensione del file.

Sintassi di GetOpenFilename in Excel VBA

Dai un'occhiata alla sintassi del metodo "GetOpenFilename".

  • Filtro file: in questo argomento possiamo specificare il tipo di file da visualizzare per selezionare. Ad esempio, se si menziona "File Excel, *. Xlsx" verranno visualizzati solo i file Excel salvati con l'estensione Excel "xlsx", non verranno visualizzati altri file. Se ignori tutti i tipi di file verranno visualizzati.
  • Indice del filtro: con questo, limitiamo l'utente a selezionare il tipo di file. Possiamo elencare specificare il numero di filtri che devono essere visibili sotto Filtro file.
  • Titolo: mostra il titolo della finestra di dialogo per la selezione del file.
  • Testo pulsante: solo per Macintosh.
  • Selezione multipla: TRUE se si desidera selezionare più file oppure FALSE. Il valore predefinito è falso.

Esempio di GetOpenFilename in Excel VBA

Di seguito sono riportati gli esempi di VBA Application.GetOpenFilename.

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

Scriviamo un codice per ottenere il nome del file e l'indirizzo del percorso.

Passaggio 1: avviare la subroutine.

Codice:

 Sub GetFile_Example1 () End Sub 

Passaggio 2: dichiara una variabile come stringa.

Codice:

 Sub GetFile_Example1 () Dim FileName As String End Sub 

Passaggio 3: per questa variabile, assegneremo GetOpenFileName.

Codice:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () End Sub 

A partire da ora, ho ignorato tutti i parametri.

Passaggio 4: ora mostra il risultato della variabile nella finestra del messaggio.

Codice:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () MsgBox FileName End Sub 

Ora esegui il codice tramite il tasto di scelta rapida Excel F5 o manualmente, mostrerà la finestra di dialogo sottostante per selezionare il file.

Selezionerò un file qualsiasi e farò clic su ok.

Non appena seleziono il file, ho ricevuto una finestra di messaggio in VBA come questa. Mostra il percorso completo della cartella e il nome del file Excel selezionato insieme all'estensione del file.

Come possiamo vedere nell'immagine sopra, abbiamo potuto vedere tutti i tipi di file. Ora aggiungerò il primo parametro, ovvero Filtro file, come "File Excel, *. Xlsx".

Codice:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename (FileFilter: = "Excel Files, *. Xlsx") MsgBox FileName End Sub 

Ora se eseguo questo codice utilizzando il tasto F5 o manualmente, vedrò solo i file Excel con l'estensione "xlsx".

In questo modo, possiamo utilizzare il metodo "VBA Application.GetOpenFileName" per ottenere il percorso della cartella insieme al nome del file e all'estensione del file.