Come aprire una cartella di lavoro con un nome di variabile con Excel VBA

  • Condividi Questo
Hugh West

Naturalmente, potrebbe essere necessario aprire il file da un file Excel padre utilizzando VBA in una directory diversa. Allo stesso tempo, però, abbiamo vari tipi di criteri anche per quanto riguarda il modo in cui vogliamo aprire la cartella di lavoro. Se siete curiosi di sapere come potete aprire una cartella di lavoro con il nome di una variabile, allora questo articolo potrebbe tornarvi utile. In questo articolo, discutiamo come potete aprire una cartella di lavoro con il nome di una variabileutilizzando VBA in Excel con spiegazioni esaurienti.

Scarica il quaderno di esercizi

Scaricate il libro di esercizi qui sotto.

Aprire una cartella di lavoro con un nome di variabile utilizzando VBA.xlsm

Esempio.xlsx

4 modi semplici per aprire una cartella di lavoro con un nome di variabile utilizzando VBA in Excel

Per la dimostrazione utilizzeremo il seguente set di dati. Abbiamo le informazioni sui prodotti di diversi prodotti con i relativi id. Questo è un file di esempio che apriremo utilizzando il codice VBA.

1. Utilizzo della proprietà Workbook.Open

Utilizzando il Cartella di lavoro.Apri possiamo aprire i file menzionando la directory o non menzionando la posizione. Possiamo anche rendere il file aperto di sola lettura.

1.1 Aprire la cartella di lavoro indicando il percorso del file

Nel prossimo metodo, utilizzeremo il metodo Proprietà Workbook.Open per aprire il file direttamente dalla directory di ubicazione del file. Indipendentemente dalla posizione del file, è possibile aprirlo facilmente.

Passi

  • Abbiamo un file memorizzato nella cartella documenti che dobbiamo aprire.
  • Utilizzeremo il nome del file come variabile e poi apriremo il file utilizzando una piccola macro VBA.
  • La directory esatta del file è indicata di seguito nella finestra delle proprietà.

  • Per prima cosa, andare alla pagina Sviluppatore e fare clic su Visual Basic Se non si dispone di questo, bisogna attivare la scheda Sviluppatore Oppure è possibile premere ' Alt+F11' per l'apertura del Editor Visual Basic .

  • Verrà visualizzata una nuova finestra di dialogo, nella quale fare clic sul pulsante Inserire > Modulo .

  • Successivamente, nella Modulo digitare il seguente codice:
 Sub Open_with_File_Path() Dim Open_File As String: File_path = "C:\Users\User\OneDrive\Documents\Sample" Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:=File_path) End Sub 

  • Chiudere quindi la finestra Modulo finestra.
  • Dopodiché, andare su Vista scheda> Macro .
  • Quindi fare clic su Visualizza macro .

  • Dopo aver fatto clic su Visualizza macro, selezionare la macro appena creata. Il nome è Aprire_con_percorso_file . Quindi fare clic su Correre .

  • Dopo di che il Campione Il file si aprirà.

🔎 Ripartizione del codice

 Sub Aprire_con_percorso_file() 

⮚ Per prima cosa, forniamo un nome per la sottoprocedura, che è Aprire_con_percorso_file .

 Dim Open_File As String: File_path = "C:\Users\User\OneDrive\Documents\Sample" 

Poi si inserisce la posizione del file nella cartella Percorso_file variabile

 Dim wrkbk come cartella di lavoro 

Quindi, dichiariamo la nostra variabile wrkbk il cui tipo è una cartella di lavoro.

 Set wrkbk = Workbooks.Open(Filename:=Percorso_file) 

⮚ Quindi, si apre il file denominato nel campo Percorso_file e impostare il file come wrkbk variabile.

 Fine Sub 

⮚ Infine, terminiamo la sottoprocedura di questo codice.

Per saperne di più: Come aprire una cartella di lavoro da un percorso utilizzando Excel VBA (4 esempi)

1.2 Aprire una cartella di lavoro senza indicare il percorso del file

Nel metodo successivo, apriremo il file dalla cartella madre, dove è salvato il file principale. Il file può essere aperto senza menzionare alcuna posizione nel codice. Questo file deve solo trovarsi nella stessa cartella della cartella madre.

Passi

  • Abbiamo un altro file salvato nella stessa directory in cui è salvato il file Excel principale.
  • Il nome del file è 1.

  • Per prima cosa, andare alla pagina Sviluppatore e fare clic su Visual Basic Se non si dispone di questo, bisogna attivare la scheda Sviluppatore Oppure è possibile premere ' Alt+F11 ' per aprire la finestra Editor Visual Basic .

  • Verrà visualizzata una nuova finestra di dialogo, nella quale fare clic sul pulsante Inserire > Modulo .

  • Successivamente, nella Modulo digitare il seguente codice:
 Sub Open_without_File_Path() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:="1.xlsx") End Sub 

  • Chiudere quindi la finestra Modulo finestra.
  • Dopodiché, andare su Vista scheda> Macro .
  • Quindi fare clic su Visualizza macro .

  • Dopo aver fatto clic su Visualizza macro, selezionare la macro appena creata. Il nome è Aprire_senza_percorso_file Quindi fare clic su Esegui.

  • Dopo aver premuto Correre si noterà che il file denominato 1 è ora aperto.
  • Ecco come aprire la cartella di lavoro con il nome della variabile utilizzando VBA in Excel.

🔎 Ripartizione del codice

 Sub Aprire_senza_percorso_file() 

⮚ Per prima cosa, forniamo un nome per la sottoprocedura, che è Sub Aprire_senza_percorso_file()

 Dim wrkbk come cartella di lavoro 

⮚ Dichiariamo wrkbk come variabile nel tipo di cartella di lavoro

 Set wrkbk = Workbooks.Open(Filename:="1.xlsx") 

⮚ Apriamo il file dalla cartella madre denominata 1.xlsx .

 Fine Sub 

⮚ Infine, terminiamo la sottoprocedura di questo codice.

1.3 Aprire la cartella di lavoro in sola lettura

Il metodo è abbastanza simile al primo, ma in questo caso apriremo il file in modalità di sola lettura, il che significa che non potremo modificare alcun dato o valore nel file Excel.

Passi

  • Il file che vogliamo aprire è salvato nella cartella documenti.
  • Questo è il file che vogliamo aprire in sola lettura.

  • Per prima cosa, andare alla pagina Sviluppatore e fare clic su Visual Basic Se non si dispone di questo, bisogna attivare la scheda Sviluppatore Oppure è possibile premere ' Alt+F11 ' per aprire l'editor di Visual Basic.

  • Verrà visualizzata una nuova finestra di dialogo, nella quale fare clic sul pulsante Inserire > Modulo .

  • Successivamente, nella Modulo digitare il seguente codice:
 Sub Open_with_File_Read_Only() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True) End Sub 
  • Chiudere quindi la finestra Modulo finestra.
  • Dopodiché, andare su Vista scheda> Macro .
  • Quindi fare clic su Visualizza macro .

  • Dopo aver fatto clic su Visualizza macro, selezionare le macro appena create. Il nome è Aprire_con_File_Leggere_Solo . Quindi fare clic su Correre .

  • Dopo aver fatto clic su Correre , si noterà che il file è ora aperto in sola lettura, come mostrato nella barra del titolo.

🔎 Ripartizione del codice

 Sub Aprire_con_File_Leggere_Solo() 

⮚ Per prima cosa, forniamo un nome per la sottoprocedura, che è Aprire_con_File_Leggere_Solo()

 Dim wrkbk come cartella di lavoro 

⮚ Dichiariamo wrkbk come variabile nel tipo di cartella di lavoro

 Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True) 

⮚ Il file verrà quindi aperto dalla directory designata e il file verrà impostato come di sola lettura dall'ultimo argomento.

 Fine Sub 

⮚ Infine, terminiamo la sottoprocedura di questo codice.

Per saperne di più: Come aprire la cartella di lavoro in sola lettura con Excel VBA

2. Utilizzo della casella messaggi

In modo quasi analogo al metodo precedente, possiamo aprire i file tramite il codice VBA in Excel, ma in questo caso incorporeremo una piccola casella di messaggio.

Passi

  • Per prima cosa, andare alla pagina Sviluppatore e fare clic su Visual Basic Se non si dispone di questo, occorre attivare la scheda Sviluppatore Oppure è possibile premere ' Alt+F11' per l'apertura del Editor Visual Basic .

  • Verrà visualizzata una nuova finestra di dialogo, nella quale fare clic sul pulsante Inserire > Modulo .

  • Successivamente, nella Modulo digitare il seguente codice:
 Sub Open_File_with_Messege_Box() Dim path As String: path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" If Dir(path) "" Then Workbooks.Open (path) MsgBox "Il file è stato aperto con successo" Else MsgBox "L'apertura del file non è riuscita" End If End Sub 

  • Chiudere quindi la finestra Modulo finestra.
  • Dopodiché, andare su Vista scheda> Macro .
  • Quindi fare clic su Visualizza macro .

  • Dopo aver fatto clic su Visualizza macro, selezionare le macro appena create, il cui nome è Aprire_file_con_Messaggio_Box . Quindi fare clic su Correre .

  • Poi è comparsa la casella di avviso che mostra che Il file è stato aperto con successo .
  • Quindi fare clic su OK .

  • E poi vedremo che il file è ora aperto.

  • E poi cerchiamo di modificare un po' il codice.
  • Cambiamo il nome del file in Campione10 e in realtà non esiste un file chiamato Campione10 nella cartella dei documenti.

  • Allora noi Correre il codice di nuovo e c'è una casella di messaggio che dice Apertura del file fallita .
  • Cliccare OK dopo questo.

🔎 Ripartizione del codice

 Sub Aprire_File_con_Messaggio_Box() 

⮚ Per prima cosa, forniamo un nome per la sottoprocedura, che è Open_with_File_Read_Only()

 Dim path Come stringa: 

⮚ Dichiariamo wrkbk come variabile nel tipo di cartella di lavoro

 Se Dir(percorso) "" Allora Workbooks.Open (percorso) 
 MsgBox "Il file è stato aperto con successo" Else 

⮚ Questa riga controlla se il file chiamato Sample è disponibile o meno nella directory; se il file è presente, lo apre e allo stesso tempo mostra il messaggio.

 MsgBox "L'apertura del file non è riuscita". 

⮚ Se non esiste un file chiamato Campione nella directory, il messaggio verrà recapitato.

 Fine Se 

⮚ Infine, terminiamo la sottoprocedura di questo codice.

 Fine Sub 

⮚ Infine, terminiamo la sottoprocedura di questo codice.

Per saperne di più: Come aprire una cartella di lavoro ed eseguire una macro con VBA (4 esempi)

3. Utilizzo della finestra di dialogo per l'apertura del file

Estrarre la directory di ubicazione dei file e importarli ogni volta nel codice VBA è piuttosto complicato. Per risolvere il problema, mostreremo come sia possibile utilizzare una finestra di dialogo per selezionare i file da qualsiasi directory.

Passi

  • Ora apriremo il file utilizzando la finestra di dialogo di Esplora file.
  • Per prima cosa, andare alla pagina Sviluppatore e fare clic su Visual Basic Se non si dispone di questo, bisogna attivare la scheda Sviluppatore Oppure è possibile premere ' Alt+F11' per l'apertura del Editor Visual Basic .

  • Verrà visualizzata una nuova finestra di dialogo, nella quale fare clic sul pulsante Inserire > Modulo .

  • Successivamente, nella Modulo digitare il seguente codice:
 Sub Open_File_with_Dialog_Box() Dim Dbox As FileDialog Dim File_Path As String Dim wrkbk As Workbook Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Choose and Open " & FileType Dbox.Filters.Clear Dbox.Show If Dbox.SelectedItems.Count = 1 Then File_Path = Dbox.SelectedItems(1) End If Set wrkbk = Workbooks.Open(Filename:=File_Path) End Sub 
  • Chiudere quindi la finestra Modulo finestra.
  • Dopodiché, andare su Vista scheda> Macro .
  • Quindi fare clic su Visualizza macro .

  • Dopo aver fatto clic su Visualizza macro, selezionare le macro appena create, il cui nome è Aprire_File_con_Box_dialogo . Quindi fare clic su Correre .

  • Si apre quindi una nuova finestra. Nella finestra di dialogo di Esplora file e selezionare Campione e fare clic su OK .

  • Quindi il file denominato Campione aperto.
  • Ecco come aprire la cartella di lavoro con il nome della variabile utilizzando VBA in Excel.

🔎 Ripartizione del codice

 Sub Aprire_File_con_Dialog_Box() 

⮚ Per prima cosa, forniamo un nome per la sottoprocedura, che è Sub Aprire_File_con_Dialog_Box()

 Dim Dbox come FileDialog 

⮚ Dichiariamo Dbox come variabile in FileDialog tipo

 Dim File_Path Come Stringa 

⮚ Dichiariamo Percorso_file come variabile nel file Percorso_file Come Stringa tipo

 Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Scegli e apri " & FileType 

La prima riga contiene una finestra di dialogo. La riga successiva indica il nome della finestra di dialogo e il tipo di file.

Dbox.Title imposta il titolo della finestra di dialogo. e Tipo di file impostare il tipo di file.

 Dbox.Filters.Clear 

⮚ Il Dbox.Filters.Clear cancella qualsiasi filtro precedente applicato nella casella diaog

 Dbox.Show 

⮚ Il Dbox.Show farà apparire la finestra di dialogo sul file.

⮚ Questa riga determina se l'utente ha selezionato più di un file o meno. Se l'utente seleziona più di un file, l'intera procedura si interrompe.

 Fine Sub 

⮚ Infine, terminiamo la sottoprocedura di questo codice.

Per saperne di più: Come aprire una cartella e selezionare un file con Excel VBA (4 esempi)

4. Utilizzo della proprietà Workbook.Add

Contrariamente ai metodi precedenti, creeremo un nuovo file Excel in una directory predeterminata e poi lo apriremo utilizzando il comando Libro di lavoro. proprietà.

Passi

  • Per prima cosa, andare alla pagina Sviluppatore e fare clic su Visual Basic Se non si dispone di questo, si deve attivare la scheda Sviluppatore Oppure è possibile premere ' Alt+F11' per l'apertura del Editor Visual Basic .

  • Verrà visualizzata una nuova finestra di dialogo, nella quale fare clic sul pulsante Inserire > Modulo .

Successivamente, nella Modulo digitare il seguente codice:

 Sub Open_File_with_Add_Property() Dim File_Path As String: File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" Dim wb As Workbook Set wb = Workbooks.Add(File_Path) End Sub 
  • Chiudere quindi la finestra Modulo finestra.
  • Dopodiché, andare su Vista scheda> Macro .
  • Quindi fare clic su Visualizza macro .

  • Dopo aver fatto clic su Visualizza macro, selezionare le macro appena create, il cui nome è Aprire_file_con_aggiunta_proprietà . Quindi fare clic su Correre .

  • Dopo aver fatto clic su Correre, noterete che è stato creato e aperto un nuovo file.

🔎 Ripartizione del codice

⮚ Per prima cosa, forniamo un nome per la sottoprocedura, che è Sub Aprire_File_con_Aggiungi_Proprietà()

⮚ Quindi dichiariamo il Percorso_file variabile come Stringa tipo.

 Dim File_Path As String: File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" 

⮚ E impostare il Percorso_file alla posizione del file.

 Dim wb come cartella di lavoro 

⮚ Dichiariamo wb come variabile nel file Libro di lavoro tipo.

 Set wb = Workbooks.Add(File_Path) 

⮚ La cartella di lavoro viene quindi aggiunta dalla directory memorizzata nel file Percorso_file utilizzando l'opzione Cartella di lavoro.Aggiungi proprietà.

 Fine Sub 

⮚ Infine, terminiamo la sottoprocedura di questo codice.

Per saperne di più: [Metodo di apertura delle cartelle di lavoro degli oggetti non riuscito (4 soluzioni)

Conclusione

Per riassumere, la questione di come aprire le cartelle di lavoro con nomi di variabili utilizzando VBA trova qui una risposta in 4 diversi esempi. Il Macro VBA Il metodo richiede una preventiva Legato a VBA conoscenza per capire da zero.

Per questo problema, è possibile scaricare una cartella di lavoro con macro che consente di mettere in pratica questi metodi.

Sentitevi liberi di porre qualsiasi domanda o feedback attraverso la sezione dei commenti. Qualsiasi suggerimento per il miglioramento del sito Exceldemy comunità sarà molto apprezzabile

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.