Non è sempre necessario inventare tutto da soli quando puoi usare qualcosa che già esiste.

Hai accesso alla maggior parte delle finestre di dialogo integrate in Excel e alle altre applicazioni in Office.

Se vuoi lasciare che l’utente decida dove salvare una cartella di lavoro, puoi visualizzare la finestra di dialogo incorporata Salva come segue:

Application.Dialogs(xlDialogSaveAs).Show

Per ottenere un elenco di tutte le finestre di dialogo accessibili in Excel, utilizzare il browser degli oggetti.

Per visualizzarlo, premi F2 mentre hai un modulo attivato. Seleziona Excel come libreria e cerca le costanti che iniziano con xlDialog …​.

Se si desidera solo recuperare un nome file dall’utente che si desidera utilizzare in seguito per aprire o salvare una cartella di lavoro, è possibile utilizzare i metodi GetOpenFilename o GetSaveAsFilename. Entrambi i metodi visualizzano le rispettive finestre di dialogo, ma non aprono o salvano il file quando l’utente conferma la finestra di dialogo.

I metodi invece restituiscono il nome completo del file al file che l’utente vuole aprire o salvare.

FullFileName = Application.GetOpenFilename("Excel files (.xl),.xl", _

1, "Custom Dialog Title", , False)

FullFileName = Application.GetSaveAsFilename("DefaultFilename.xls", _

"Excel files (.xl),.xl", 1, "Custom Dialog Title")

Il risultato può essere utilizzato in qualsiasi modo tu voglia. Successivamente puoi aprire una cartella di lavoro selezionata in questo modo:

Workbooks.Open FullFileName

Oppure puoi salvare una cartella di lavoro come questa:

ActiveWorkbook.SaveAs FullFileName

Quando l’utente ha confermato la finestra di dialogo FileOpen o la finestra di dialogo FileSaveAs, potrebbe anche aver cambiato la cartella attiva o corrente, quindi uso spesso questi due metodi come un approccio semplice per consentire all’utente di selezionare una cartella. Puoi trovare un altro modo per consentire all’utente di selezionare una cartella nella sezione File e cartelle.