Utilizzo della finestra di dialogo per aprire e salvare la cartella di lavoro

Sommario:

Anonim

Sappiamo già come aprire o salvare un file Excel in VBA. Usiamo semplicemente il metodo Open e SaveAs dell'oggetto Workbook. Ma ciò richiede l'hard-coding del percorso del file. Ma la maggior parte delle volte vorrai che l'utente finale selezioni un file utilizzando la GUI o dica la finestra di dialogo Apri file o Salva con nome che consente all'utente di scegliere la posizione del file visivamente e facilmente.

In questo articolo, trattiamo il codice utilizzato per visualizzare la finestra di dialogo di apertura della cartella di lavoro e salvare come finestra di dialogo.

Ho allegato una cartella di lavoro che puoi scaricare. La cartella di lavoro allegata a questo articolo contiene tre macro

Codice VBA per aprire il file utilizzando la finestra di dialogo Apri file

In questo codice, utilizzeremo il metodo GetOpenFilename dell'applicazione. La sintassi del metodo GetOpenFilename è:

Application.GetOpenFilename([FileFilter],[FilterIndex],[Title],[ButtonText],[MultiSelect])

[Filtro]: Puoi definire di mostrare solo un tipo di file nella cartella selezionata. Se scrivi "File Excel, *.xlsx, *.xls, *.xlsm" ecc., verranno visualizzati solo i file Excel dalla cartella nella finestra di dialogo di apertura file.

[Indice filtro]:È il numero di filtri di file che si desidera utilizzare.

[Titolo]: Il titolo della finestra di dialogo.

[Testo pulsante]:Per specificare il testo del pulsante. Non importante.

[Selezione multipla]: È una variabile booleana. Se lo imposti True o 1, sarai in grado di selezionare più di un file. Se lo imposti su false, puoi selezionare solo un file.

Basta con la teoria. Facciamo alcuni incantesimi.

Codice VBA per aprire un file alla volta

Option Explicit Sub OpenOneFile() Dim FileName As Variant 'Visualizzazione della finestra di dialogo del file aperto FileName = Application.GetOpenFilename("Excel-files,*.xls", _ 1, "Seleziona un file da aprire", , False) 'L'utente non ha 't select a file If TypeName(FileName) = "Boolean" Then Exit Sub 'Apri la cartella di lavoro Workbooks.Open FileName End Sub 

Come funziona?

Quando si esegue questo segmento di codice, il metodo GetOpenFilename per l'oggetto Application aprirà una finestra di dialogo Apri file. Il titolo della finestra di dialogo sarà "Seleziona un file da aprire" come definito nel codice. Se si seleziona un file, verrà eseguito il codice Worbook.Open e il file verrà aperto. Se non selezioni un file, il sub uscirà senza eseguire il codice Workbook.Open.

Codice VBA per aprire uno o più file alla volta

Questo segmento di codice aprirà la finestra di dialogo di apertura del file, ma potrai selezionare più di un file alla volta.

Sub OpenMultipleFiles() Dim FileName As Variant, f As Integer 'Visualizzazione della finestra di dialogo del file aperto FileName = Application.GetOpenFilename("Excel-files,*.xlsx", _ 1, "Seleziona uno o più file da aprire", , True ) 'L'utente non ha selezionato un file If TypeName(FileName) = "Boolean" Then Exit Sub 'Apri tutte le cartelle di lavoro selezionate dall'utente For f = 1 To UBound(FileName) Workbooks.Open FileName(f) Next f End Sub 

Nota che qui abbiamo impostato la variabile multiselect su True. Ciò consentirà la selezione multipla del file.

Codice VBA per aprire la finestra di dialogo Salva come

Per aprire una finestra di dialogo Salva con nome utilizzeremo il metodo GetSaveAsFilename dell'oggetto Application. La sintassi del metodo è:

Application.GetSaveAsFilename([InitialFileName],[FileFilter],[FilterIndex],[Title],[ButtonText])

[NomeFile Iniziale]:Il nome del file iniziale. Se non rinomini il file durante il salvataggio, il file verrà salvato con questo nome.

[Filtro]: Puoi definire di mostrare solo un tipo di file nella cartella selezionata. Se scrivi "File Excel, *.xlsx, *.xls, *.xlsm" ecc., verranno visualizzati solo i file Excel dalla cartella nella finestra di dialogo di apertura file.

[Indice filtro]: L'indice del filtro del file.

[Titolo]:Il titolo della finestra di dialogo.

[Testo pulsante]:Questo è usato nel sistema Mac per cambiare il nome del pulsante.

Si prega di seguire sotto per il codice

Sub SaveFile() Dim FileName As Variant 'Visualizzazione della finestra di dialogo saveas FileName = Application.GetSaveAsFilename("MyFileName.xls", _ "Excel files,*.xls", 1, "Select your folder and filename") 'L'utente lo ha fatto' t salva un file If TypeName(FileName) = "Boolean" Then Exit Sub 'Salva la cartella di lavoro ActiveWorkbook.SaveAs FileName End Sub 

SaveFile Macro utilizza il metodo GetSaveAsFilename dell'oggetto Application per aprire la finestra di dialogo Salva con nome, assegnando il nome del file e selezionando il percorso per il salvataggio della cartella di lavoro.

Quindi sì ragazzi, ecco come è possibile utilizzare la finestra di dialogo per aprire e salvare i file utilizzando VBA. Spero sia stato utile. Se hai dei dubbi su questo articolo o su qualsiasi altro argomento VBA, chiedi nella sezione commenti qui sotto.

Utilizzare una cartella di lavoro chiusa come database (DAO) utilizzando VBA in Microsoft Excel | Per utilizzare una cartella di lavoro chiusa come database con connessione DAO, utilizzare questo frammento VBA in Excel.

Utilizzare una cartella di lavoro chiusa come database (ADO) utilizzando VBA in Microsoft Excel | Per utilizzare una cartella di lavoro chiusa come database con connessione ADO, utilizzare questo frammento VBA in Excel.

Iniziare con i moduli utente VBA di Excel | Per inserire i dati nel database, utilizziamo i moduli. I moduli utente di Excel sono utili per ottenere informazioni dall'utente. Ecco come dovresti iniziare con i moduli utente VBA.

Modifica il valore/contenuto di diversi controlli UserForm utilizzando VBA in Excel | Per modificare il contenuto dei controlli del form utente, utilizzare questo semplice frammento VBA.

Impedisci la chiusura di un modulo utente quando l'utente fa clic sul pulsante x utilizzando VBA in Excel | Per impedire la chiusura del form utente quando l'utente fa clic sul pulsante x del form, utilizziamo l'evento UserForm_QueryClose.

Articoli popolari:

50 scorciatoie di Excel per aumentare la produttività | Diventa più veloce nel tuo compito. Queste 50 scorciatoie ti faranno lavorare ancora più velocemente su Excel.

La funzione CERCA.VERT in Excel | Questa è una delle funzioni più utilizzate e popolari di Excel che viene utilizzata per cercare il valore da diversi intervalli e fogli.

CONTA.SE in Excel 2016 | Conta i valori con le condizioni usando questa fantastica funzione. Non è necessario filtrare i dati per contare un valore specifico. La funzione Countif è essenziale per preparare la tua dashboard.

Come utilizzare la funzione SOMMA.SE in Excel | Questa è un'altra funzione essenziale della dashboard. Questo ti aiuta a riassumere i valori su condizioni specifiche