Cuprins
Firește, este posibil să avem nevoie să deschidem fișierul dintr-un fișier Excel părinte utilizând VBA într-un alt director. Dar, în același timp, avem diferite tipuri de criterii și despre modul în care dorim să deschidem registrul de lucru. Dacă sunteți curios să știți cum puteți deschide un registru de lucru cu numele variabilului, atunci acest articol vă poate fi util. În acest articol, discutăm despre cum puteți deschide un registru de lucru cu numele variabiluluifolosind VBA în Excel cu explicații elaborate.
Descărcați caietul de practică
Descărcați acest caiet de practică de mai jos.
Deschiderea unui registru de lucru cu nume de variabilă utilizând VBA.xlsm
Exemplu.xlsx
4 moduri simple de a deschide registrul de lucru cu nume de variabilă utilizând VBA în Excel
Pentru demonstrație, vom utiliza setul de date de mai jos, care conține informațiile despre mai multe produse, împreună cu Id-ul acestora. acesta este un fișier de probă pe care îl vom deschide utilizând codul VBA.
1. Utilizarea proprietății Workbook.Open
Utilizarea Carte de lucru.Deschidere putem deschide fișiere menționând directorul sau fără a menționa locația. De asemenea, putem face ca fișierul deschis să fie numai pentru citire.
1.1 Deschideți registrul de lucru menționând calea fișierului
În următoarea metodă, vom folosi Proprietatea Workbook.Open pentru a deschide fișierul direct din directorul de locație a fișierului menționat. Indiferent unde se află fișierul, îl putem deschide cu ușurință.
Pași
- Avem un fișier stocat în dosarul documente pe care trebuie să-l deschidem.
- Vom folosi numele fișierului ca variabilă și apoi vom deschide fișierul folosind o mică macro VBA.
- Directorul exact al fișierului este afișat mai jos în fereastra de proprietăți.
- În primul rând, mergeți la Dezvoltator și faceți clic pe Visual Basic Dacă nu ai asta, trebuie să... activați fila Dezvoltator Sau puteți, de asemenea, să apăsați Alt+F11 pentru deschiderea Editor Visual Basic .
- Apoi va apărea o nouă casetă de dialog, în care faceți clic pe butonul Introduceți > Modul .
- În continuare, în secțiunea Modul editor, introduceți următorul cod:
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
- Apoi închideți fereastra Modul fereastră.
- După aceea, mergeți la Vezi tab> Macros .
- Apoi faceți clic pe Vizualizați macrourile .
- După ce faceți clic pe Vizualizați macrocomenzi, Selectați macrourile pe care le-ați creat adineauri. Numele lor este Deschidere_cu_Path_fișier Apoi faceți clic pe Rulați .
- După aceea, se va Exemplu se va deschide.
🔎 Defalcarea codului
Sub Open_with_File_Path()
⮚ În primul rând, furnizăm un nume pentru subprocedură, care este Deschidere_cu_Path_fișier .
Dim Open_File As String: File_path = "C:\Users\User\OneDrive\Documents\Sample"
⮚ Apoi, punem locația fișierului în fișierul Calea fișierului variabilă
Dim wrkbk ca registru de lucru
⮚ Apoi, declarăm variabila noastră wrkbk , al cărui tip este un registru de lucru.
Set wrkbk = Workbooks.Open(Filename:=File_path)
⮚ Apoi, deschidem fișierul numit în Calea fișierului și setați fișierul ca fiind wrkbk variabilă.
End Sub
⮚ În cele din urmă, încheiem subprocedura din acest cod.
Citește mai mult: Cum să deschideți registrul de lucru din cale utilizând Excel VBA (4 exemple)
1.2 Deschiderea unui registru de lucru fără a menționa calea fișierului
În următoarea metodă, vom deschide fișierul din folderul părinte, unde este salvat fișierul principal. Fișierul poate fi deschis fără a menționa nicio locație în cod. Acest fișier trebuie doar să se afle în același folder ca și folderul părinte.
Pași
- Avem un alt fișier salvat în același director în care este salvat acum fișierul Excel părinte.
- Numele fișierului este 1.
- În primul rând, mergeți la Dezvoltator și faceți clic pe Visual Basic Dacă nu ai asta, trebuie să... activați fila Dezvoltator Sau puteți, de asemenea, să apăsați ' Alt+F11 ' pentru a deschide fereastra Editor Visual Basic .
- Apoi va apărea o nouă casetă de dialog, în care faceți clic pe butonul Introduceți > Modul .
- În continuare, în secțiunea Modul editor, introduceți următorul cod:
Sub Open_without_File_Path() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:="1.xlsx") End Sub
- Apoi închideți fereastra Modul fereastră.
- După aceea, mergeți la Vezi tab> Macros .
- Apoi faceți clic pe Vizualizați macrourile .
- După ce faceți clic pe View Macros, selectați macrocomenzile pe care le-ați creat adineauri. Numele lor este Deschidere_fără_Path_fișier Apoi faceți clic pe Run (Executare).
- După ce ați apăsat Rulați , veți observa că fișierul numit 1 este acum deschis.
- Și iată cum deschidem registrul de lucru cu numele variabilei folosind VBA în Excel.
🔎 Defalcarea codului
Sub Open_without_File_Path()
⮚ În primul rând, furnizăm un nume pentru subprocedură, care este Sub Open_without_File_Path()
Dim wrkbk ca registru de lucru
⮚ Noi declarăm wrkbk ca o variabilă în tipul de registru de lucru
Set wrkbk = Workbooks.Open(Filename:="1.xlsx")
⮚ Deschidem fișierul din directorul părinte numit 1.xlsx .
End Sub
⮚ În cele din urmă, încheiem subprocedura din acest cod.
1.3 Deschideți registrul de lucru ca fiind numai pentru citire
Metoda este destul de asemănătoare cu prima metodă, dar aici vom deschide fișierul în modul doar pentru citire, ceea ce înseamnă că nu vom putea modifica nicio dată sau valoare din fișierul Excel.
Pași
- Fișierul pe care dorim să îl deschidem este salvat în dosarul document.
- Și acesta este fișierul pe care dorim să-l deschidem ca fiind doar pentru citire.
- În primul rând, mergeți la Dezvoltator și faceți clic pe Visual Basic Dacă nu ai asta, trebuie să... activați fila Dezvoltator Sau puteți, de asemenea, să apăsați Alt+F11 ' pentru a deschide editorul Visual Basic.
- Apoi va apărea o nouă casetă de dialog, în care faceți clic pe butonul Introduceți > Modul .
- În continuare, în secțiunea Modul editor, introduceți următorul cod:
Sub Open_with_File_Read_Only() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True) End Sub
- Apoi închideți fereastra Modul fereastră.
- După aceea, mergeți la Vezi tab> Macros .
- Apoi faceți clic pe Vizualizați macrourile .
- După ce faceți clic pe View Macros, selectați macrocomenzile pe care le-ați creat adineauri. Numele lor este Deschidere_cu_fișier_de_lectură_numai Apoi faceți clic pe Rulați .
- După ce faceți clic pe Rulați , vom vedea că fișierul este acum deschis ca fiind doar pentru citire, așa cum se arată în bara de titlu.
🔎 Defalcarea codului
Sub Open_with_File_Read_Only()
⮚ În primul rând, furnizăm un nume pentru subprocedură, care este Open_with_File_Read_Only()
Dim wrkbk ca registru de lucru
⮚ Noi declarăm wrkbk ca variabilă în Workbook type
Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True)
⮚ Fișierul se va deschide apoi din directorul desemnat, iar fișierul va fi setat numai pentru citire prin ultimul argument.
End Sub
⮚ În cele din urmă, încheiem subprocedura din acest cod.
Citește mai mult: Cum să deschideți registrul de lucru ca fiind numai pentru citire cu Excel VBA
2. Utilizarea Casetei de mesaje
Aproape similar cu metoda anterioară, putem deschide fișiere prin intermediul codului VBA aici în Excel, dar în acest caz, vom încorpora aici o mică casetă de mesaje.
Pași
- În primul rând, mergeți la Dezvoltator și faceți clic pe Visual Basic Dacă nu ai asta, trebuie să... activați fila Dezvoltator Sau puteți, de asemenea, să apăsați ' Alt+F11 pentru deschiderea Editor Visual Basic .
- Apoi va apărea o nouă casetă de dialog, în care faceți clic pe butonul Introduceți > Modul .
- În continuare, în secțiunea Modul editor, introduceți următorul cod:
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 "Fișierul a fost deschis cu succes" Else MsgBox "Deschiderea fișierului a eșuat" End If End Sub
- Apoi închideți fereastra Modul fereastră.
- După aceea, mergeți la Vezi tab> Macros .
- Apoi faceți clic pe Vizualizați macrourile .
- După ce faceți clic pe Vizualizați macrocomenzi, Selectați macrourile pe care le-ați creat adineauri. Numele lor este Deschidere_fișier_cu_cazinetă_de_Mesaj Apoi faceți clic pe Rulați .
- Apoi am primit caseta de avertizare, care arată că Fișierul a fost deschis cu succes .
- Apoi faceți clic pe OK .
- Apoi vom vedea că fișierul este acum deschis.
- Și apoi încercăm să modificăm puțin codul.
- Schimbăm numele fișierului în Eșantion10 , și nu există de fapt niciun fișier numit Eșantion10 în dosarul de documente.
- Atunci noi Rulați codul din nou și apare o casetă de mesaj care spune Deschiderea fișierului a eșuat .
- Faceți clic pe OK după asta.
🔎 Defalcarea codului
Sub Open_File_with_Messege_Box()
⮚ În primul rând, furnizăm un nume pentru subprocedură, care este Open_with_File_Read_Only()
Dim path As String:
⮚ Noi declarăm wrkbk ca o variabilă în tipul de registru de lucru
If Dir(path) "" Then Workbooks.Open (path)
MsgBox "Fișierul a fost deschis cu succes" Else
⮚ Această linie va verifica dacă fișierul numit Sample este disponibil în director sau nu, iar dacă fișierul este acolo, atunci va deschide fișierul și în același timp va afișa mesajul.
MsgBox "Deschiderea fișierului a eșuat"
⮚ Dacă nu există niciun fișier numit Exemplu din director, atunci acest mesaj va fi transmis.
End If
⮚ În cele din urmă, încheiem subprocedura din acest cod.
End Sub
⮚ În cele din urmă, încheiem subprocedura din acest cod.
Citește mai mult: Cum să deschideți registrul de lucru și să executați un macro folosind VBA (4 exemple)
3. Utilizarea casetei de dialog pentru a deschide un fișier
Extragerea directorului de locație a fișierelor și importul acestora de fiecare dată în codul VBA este destul de greoaie. Pentru a rezolva problema, vom arăta cum puteți utiliza o casetă de dialog pentru a selecta fișiere din orice director.
Pași
- Acum vom deschide fișierul folosind caseta de dialog File Explorer.
- În primul rând, mergeți la Dezvoltator și faceți clic pe Visual Basic Dacă nu ai asta, trebuie să... activați fila Dezvoltator Sau puteți, de asemenea, să apăsați ' Alt+F11 pentru deschiderea Editor Visual Basic .
- Apoi va apărea o nouă casetă de dialog, în care faceți clic pe butonul Introduceți > Modul .
- În continuare, în secțiunea Modul editor, introduceți următorul cod:
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 = "Alege și deschide " & 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
- Apoi închideți fereastra Modul fereastră.
- După aceea, mergeți la Vezi tab> Macros .
- Apoi faceți clic pe Vizualizați macrourile .
- După ce faceți clic pe Vizualizați macrocomenzi, Selectați macrourile pe care le-ați creat adineauri. Numele lor este Open_File_with_Dialog_Box Apoi faceți clic pe Rulați .
- Apoi se deschide o fereastră nouă. În caseta de dialog File Explorer și selectați Exemplu și faceți clic pe OK .
- Apoi, fișierul numit Exemplu deschis.
- Și iată cum deschidem registrul de lucru cu numele variabilei folosind VBA în Excel.
🔎 Defalcarea codului
Sub Open_File_with_Dialog_Box()
⮚ În primul rând, furnizăm un nume pentru subprocedură, care este Sub Open_File_with_Dialog_Box()
Dim Dbox As FileDialog
⮚ Noi declarăm Dbox ca o variabilă în FileDialog tip
Dim File_Path ca String
⮚ Noi declarăm Calea fișierului ca o variabilă în Calea fișierului Ca Șir de caractere tip
Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Alege și deschide " & FileType
⮚ De la prima linie va apărea o casetă de dialog. Următoarea linie indică numele casetei de dialog și tipul de fișier.
⮚ Dbox.Title va seta titlul casetei de dialog. și Tip fișier
setați tipul de fișier.
Dbox.Filters.Clear
⮚ The Dbox.Filters.Clear va șterge orice filtru anterior aplicat în caseta diaog
Dbox.Show
⮚ The Dbox.Show va face ca această casetă de dialog să apară pe fișier.
⮚ Această linie va determina dacă utilizatorul a selectat mai mult de un fișier sau nu. Dacă utilizatorul selectează mai mult de un fișier, întreaga procedură se va opri.
End Sub
⮚ În cele din urmă, încheiem subprocedura din acest cod.
Citește mai mult: Cum se deschide dosarul și se selectează fișierul utilizând Excel VBA (4 exemple)
4. Utilizarea proprietății Workbook.Add
Spre deosebire de metodele anterioare, vom crea un nou fișier Excel într-un director prestabilit și apoi îl vom deschide folosind funcția Carte de lucru. proprietate.
Pași
- În primul rând, mergeți la Dezvoltator și faceți clic pe Visual Basic Dacă nu ai asta, trebuie să... activați fila Dezvoltator Sau puteți, de asemenea, să apăsați ' Alt+F11 pentru deschiderea Editor Visual Basic .
- Apoi va apărea o nouă casetă de dialog, în care faceți clic pe butonul Introduceți > Modul .
În continuare, în secțiunea Modul editor, introduceți următorul cod:
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
- Apoi închideți fereastra Modul fereastră.
- După aceea, mergeți la Vezi tab> Macros .
- Apoi faceți clic pe Vizualizați macrourile .
- După ce faceți clic pe Vizualizați macrocomenzi, Selectați macrourile pe care le-ați creat adineauri. Numele lor este Deschidere_fișier_cu_proprietate_adăugată Apoi faceți clic pe Rulați .
- După ce faceți clic pe Fugi, veți observa că acum este creat și deschis un nou fișier.
🔎 Defalcarea codului
⮚ În primul rând, furnizăm un nume pentru subprocedură, care este Sub Open_File_with_Add_Property()
⮚ Apoi declarăm Calea fișierului variabilă ca Șir de caractere tip.
Dim File_Path As String: File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx"
⮚ And set the Calea fișierului la locația fișierului.
Dim wb ca registru de lucru
⮚ Noi declarăm wb ca o variabilă în Caietul de lucru tip.
Set wb = Workbooks.Add(File_Path)
⮚ Cartea de lucru este apoi adăugată din directorul stocat în fișierul Calea fișierului utilizând funcția Carte de lucru.Add proprietate.
End Sub
⮚ În cele din urmă, încheiem subprocedura din acest cod.
Citește mai mult: [Fixed!] Metoda de deschidere a registrelor de lucru cu obiecte a eșuat (4 Soluții)
Concluzie
Pentru a rezuma, problema modului în care putem deschide registrele de lucru cu nume de variabile folosind VBA este rezolvată aici prin 4 exemple diferite. Exemplul Macro VBA metoda necesită o prealabilă Legat de VBA cunoștințe pentru a înțelege de la zero.
Pentru această problemă, este disponibil pentru descărcare un registru de lucru cu macrocomenzi în care puteți exersa aceste metode.
Nu ezitați să puneți orice întrebare sau feedback prin intermediul secțiunii de comentarii. Orice sugestie de îmbunătățire a Exceldemy comunitate va fi foarte apreciată