Sisukord
Loomulikult võib meil olla vaja avada faili vanemast Exceli failist, kasutades VBA-d teises kataloogis. Kuid samal ajal on meil erinevaid kriteeriume ka selle kohta, kuidas me tahame töövihikut avada. Kui olete uudishimulik teada, kuidas saate avada töövihiku muutuja nimega, siis võib see artikkel teile kasulik olla. Selles artiklis arutame, kuidas saate avada töövihiku muutuja nimegaVBA kasutamine Excelis koos põhjalike selgitustega.
Lae alla praktiline töövihik
Laadige see praktiline töövihik alla.
VBA.xlsm abil muutuja nimega töövihiku avamine
Sample.xlsx
4 lihtsat viisi Exceli VBA abil muutuja nimega töövihiku avamiseks VBA abil
Me kasutame demonstratsiooniks allpool toodud andmestikku. Meil on mitme toote andmed koos nende id-ga. see on näidisfail, mida me avame VBA koodi abil.
1. Kasutades Workbook.Open omadust
Kasutades Workbook.Open omadusega saame avada faile, mainides kataloogi või jättes asukoha mainimata. Samuti saame muuta avatud faili ainult lugemiseks.
1.1 Avatud töövihik, milles on märgitud failipolk
Järgmises meetodis kasutame me meetodit Workbook.Open omadus et avada fail otse nimetatud faili asukoha kataloogist. Ükskõik, kus fail asub, saame faili hõlpsasti avada.
Sammud
- Meil on dokumentide kausta salvestatud fail, mille me peame avama.
- Kasutame faili nime muutujana ja seejärel avame faili väikese VBA makro abil.
- Faili täpne failikataloog on näidatud allpool omaduste aknas.
- Kõigepealt minge Arendaja vahekaart ja klõpsa Visual Basic Kui sul seda ei ole, siis pead sa olema lubada vahekaart Developer (arendaja) Või võite ka vajutada ' Alt+F11' avamiseks Visual Basic toimetaja .
- Seejärel avaneb uus dialoogiboks, selles dialoogiboksis klõpsake nuppu Sisesta > Moodul .
- Järgnevalt on Moodul redaktori aknas järgmine kood:
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
- Seejärel sulgege Moodul aken.
- Pärast seda mine Vaata tab> Makros .
- Seejärel klõpsake nuppu Vaata makrosid .
- Pärast klõpsamist Vaadake makrosid, valige äsja loodud makro, mille nimi on siinkohal Open_with_File_Path Siis klõpsake Käivita .
- Pärast seda on Näide fail avatakse.
🔎 Koodi jaotus
Sub Open_with_File_Path()
⮚ Kõigepealt anname alamprotseduurile nime, mis on Open_with_File_Path .
Dim Open_File As String: File_path = "C:\Users\User\OneDrive\Documents\Sample"
⮚ Seejärel paneme faili asukoha faili sisse File_Path muutuv
Dim wrkbk As Workbook
⮚ Seejärel deklareerime oma muutuja wrkbk , mille tüüp on töövihik.
Set wrkbk = Workbooks.Open(Failinimi:=Faili_path)
⮚ Seejärel avame faili nimega File_Path kataloogi muutuja ja määrata faili wrkbk muutuv.
End Sub
⮚ Lõpuks lõpetame selle koodi alamprotseduuri.
Loe edasi: Kuidas avada Exceli VBA abil töövihik teekonnast (4 näidet)
1.2 Töövihiku avamine ilma failipoori mainimata
Järgmises meetodis avame faili vanemkaustast, kuhu on salvestatud põhifail. Faili saab avada ilma koodi asukoha mainimata. See fail peab lihtsalt olema samas kaustas kui vanemkaust.
Sammud
- Meil on teine fail salvestatud samasse kataloogi, kuhu on nüüd salvestatud vanem Exceli fail.
- Faili nimi on 1.
- Kõigepealt minge Arendaja vahekaart ja klõpsa Visual Basic Kui sul seda ei ole, siis pead sa olema lubada vahekaart Developer (arendaja) Või võite ka vajutada ' Alt+F11 ' avamiseks Visual Basic toimetaja .
- Seejärel avaneb uus dialoogiboks, selles dialoogiboksis klõpsake nuppu Sisesta > Moodul .
- Järgnevalt on Moodul redaktori aknas järgmine kood:
Sub Open_without_File_Path() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:="1.xlsx") End Sub
- Seejärel sulgege Moodul aken.
- Pärast seda mine Vaata tab> Makros .
- Seejärel klõpsake nuppu Vaata makrosid .
- Pärast klõpsamist View Macros, valige äsja loodud makrosid. Nimi on siinkohal Open_without_File_Path Seejärel klõpsake nuppu Run.
- Pärast vajutamist Käivita , märkate, et fail nimega 1 on nüüd avatud.
- Ja nii me avame Exceli VBA abil muutuja nimega töövihiku.
🔎 Koodide jaotus
Sub Open_without_File_Path()
⮚ Kõigepealt anname alamprotseduurile nime, mis on Sub Open_without_File_Path()
Dim wrkbk As Workbook
⮚ Me deklareerime wrkbk muutujana töövihiku tüübis
Set wrkbk = Workbooks.Open(Failinimi:="1.xlsx")
⮚ Avame faili vanemkataloogist nimega 1.xlsx .
End Sub
⮚ Lõpuks lõpetame selle koodi alamprotseduuri.
1.3 Avage töövihik ainult lugemiseks
Meetod on üsna sarnane esimesele meetodile, kuid siinkohal avame faili ainult lugemisrežiimis, mis tähendab, et me ei saa muuta ühtegi Exceli failis olevat andmeid või väärtust.
Sammud
- Fail, mida me tahame avada, on salvestatud dokumendikausta.
- Ja see on fail, mida me tahame avada ainult lugemiseks.
- Kõigepealt minge Arendaja vahekaart ja klõpsa Visual Basic Kui sul seda ei ole, siis pead sa olema lubada vahekaart Developer (arendaja) Või võite ka vajutada ' Alt+F11 ' Visual Basic'i redaktori avamiseks.
- Seejärel avaneb uus dialoogiboks, selles dialoogiboksis klõpsake nuppu Sisesta > Moodul .
- Järgnevalt on Moodul redaktori aknas järgmine kood:
Sub Open_with_File_Read_Only() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True) End Sub
- Seejärel sulgege Moodul aken.
- Pärast seda mine Vaata tab> Makros .
- Seejärel klõpsake nuppu Vaata makrosid .
- Pärast klõpsamist View Macros, valige äsja loodud makrosid. Nimi on siinkohal Open_with_File_Read_Only . Siis klõpsake Käivita .
- Pärast klõpsamist Käivita , näeme, et fail on nüüd avatud ainult lugemiseks, nagu on näidatud tiitliribal.
🔎 Koodi jaotus
Sub Open_with_File_Read_Only()
⮚ Kõigepealt anname alamprotseduurile nime, mis on Open_with_File_Read_Only()
Dim wrkbk As Workbook
⮚ Me deklareerime wrkbk muutujana töövihiku tüübis
Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True)
⮚ Seejärel avaneb fail määratud kataloogist ja faili seadistatakse ainult lugemiseks viimase argumendiga.
End Sub
⮚ Lõpuks lõpetame selle koodi alamprotseduuri.
Loe edasi: Kuidas avada Exceli VBA-ga ainult lugemiseks mõeldud töövihik
2. Sõnumiboksi kasutamine
Peaaegu sarnaselt eelmisele meetodile saame me siin Excelis VBA-koodi kaudu faile avada, kuid sel juhul lisame siia väikese teatepaneeli.
Sammud
- Kõigepealt minge Arendaja vahekaart ja klõpsa Visual Basic Kui sul seda ei ole, siis pead sa olema lubada vahekaart Developer (arendaja) Või võite ka vajutada ' Alt+F11' avamiseks Visual Basic toimetaja .
- Seejärel avaneb uus dialoogiboks, selles dialoogiboksis klõpsake nuppu Sisesta > Moodul .
- Järgnevalt on Moodul redaktori aknas järgmine kood:
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 "Faili avamine õnnestus" Else MsgBox "Faili avamine ebaõnnestus" End If End Sub
- Seejärel sulgege Moodul aken.
- Pärast seda mine Vaata tab> Makros .
- Seejärel klõpsake nuppu Vaata makrosid .
- Pärast klõpsamist Vaadake makrosid, valige äsja loodud makro, mille nimi on siinkohal Open_File_with_Messege_Box . Siis klõpsake Käivita .
- Siis saime hoiatus kasti, mis näitab, et Fail avati edukalt .
- Seejärel klõpsake OK .
- Ja siis näeme, et fail on nüüd avatud.
- Ja siis proovime koodi veidi muuta.
- Me muudame faili nime Näide10 ja tegelikult ei ole olemas faili nimega Näide10 dokumentide kaustas.
- Siis me Käivita koodi uuesti, ja ilmub sõnumikast, mis ütleb, et Faili avamine ebaõnnestus .
- Klõpsake OK pärast seda.
🔎 Koodide lahtikirjutamine
Sub Open_File_with_Messege_Box()
⮚ Kõigepealt anname alamprotseduurile nime, mis on Open_with_File_Read_Only()
Dim path As String:
⮚ Me deklareerime wrkbk muutujana töövihiku tüübis
If Dir(path) "" Then Workbooks.Open (path)
MsgBox "Faili avamine õnnestus" Else
⮚ See rida kontrollib, kas fail nimega Sample on kataloogis olemas või mitte, Kui fail on olemas, siis see avab faili ja samal ajal näitab sõnumit.
MsgBox "Faili avamine ebaõnnestus"
⮚ Kui puudub fail nimega Näide kataloogis, siis see sõnum edastatakse.
End If
⮚ Lõpuks lõpetame selle koodi alamprotseduuri.
End Sub
⮚ Lõpuks lõpetame selle koodi alamprotseduuri.
Loe edasi: Kuidas avada töövihik ja käivitada makro VBA abil (4 näidet)
3. Faili avamiseks vajaliku dialoogiakna kasutamine
Faili asukoha kataloogi väljavõtte ja nende importimine VBA koodis on iga kord üsna tülikas. Probleemi lahendamiseks näitame, kuidas saate kasutada dialoogiakent, et valida faili mis tahes kataloogist.
Sammud
- Nüüd avame faili failiotsingu dialoogiakna abil.
- Kõigepealt minge Arendaja vahekaart ja klõpsa Visual Basic Kui sul seda ei ole, siis pead sa olema lubada vahekaart Developer (arendaja) Või võite ka vajutada ' Alt+F11' avamiseks Visual Basic toimetaja .
- Seejärel avaneb uus dialoogiboks, selles dialoogiboksis klõpsake nuppu Sisesta > Moodul .
- Järgnevalt on Moodul redaktori aknas järgmine kood:
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
- Seejärel sulgege Moodul aken.
- Pärast seda mine Vaata tab> Makros .
- Seejärel klõpsake nuppu Vaata makrosid .
- Pärast klõpsamist Vaadake makrosid, valige äsja loodud makro, mille nimi on siinkohal Open_File_with_Dialog_Box Siis klõpsake Käivita .
- Ja siis avaneb uus aken. Failiotsingu dialoogiaknas ja valige Näide ja klõpsake OK .
- Siis fail nimega Näide avatud.
- Ja nii me avame Exceli VBA abil muutuja nimega töövihiku.
🔎 Koodide lahtikirjutamine
Sub Open_File_with_Dialog_Box()
⮚ Kõigepealt anname alamprotseduurile nime, mis on Sub Open_File_with_Dialog_Box()
Dim Dbox As FileDialog
⮚ Me deklareerime Dbox kui muutuja FileDialog tüüp
Dim File_Path As String
⮚ Me deklareerime File_Path muutujana muutuja File_Path Nagu String tüüp
Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Vali ja ava " & FileType
⮚ Esimesest reast tuleb dialoogiboks. Järgmine rida tähistab dialoogiboksi nime ja failitüüpi.
⮚ Dbox.Title määrab dialoogiakna pealkirja. ja FileType
määrata faili tüüp.
Dbox.Filters.Clear
⮚ The Dbox.Filters.Clear kustutab kõik varasemad diaogi kastis rakendatud filtrid
Dbox.Show
⮚ The Dbox.Show paneb dialoogiakna faili ilmuma.
⮚ See rida määrab, kas kasutaja valis rohkem kui ühe faili või mitte. Kui kasutaja valib rohkem kui ühe faili, siis kogu protseduur peatub.
End Sub
⮚ Lõpuks lõpetame selle koodi alamprotseduuri.
Loe edasi: Kuidas avada kaust ja valida fail Excel VBA abil (4 näidet)
4. Kasutades Workbook.Add omadust
Erinevalt eelmistest meetoditest loome uue Exceli faili eelnevalt määratud kataloogi ja seejärel avame selle, kasutades käsku Töövihik. Lisa vara.
Sammud
- Kõigepealt minge Arendaja vahekaart ja klõpsa Visual Basic Kui sul seda ei ole, siis pead sa olema lubada vahekaart Developer (arendaja) Või võite ka vajutada ' Alt+F11' avamiseks Visual Basic toimetaja .
- Seejärel avaneb uus dialoogiboks, selles dialoogiboksis klõpsake nuppu Sisesta > Moodul .
Järgnevalt on Moodul redaktori aknas järgmine kood:
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
- Seejärel sulgege Moodul aken.
- Pärast seda mine Vaata tab> Makros .
- Seejärel klõpsake nuppu Vaata makrosid .
- Pärast klõpsamist Vaadake makrosid, valige äsja loodud makro, mille nimi on siinkohal Open_File_with_Add_Property (Avatud_faili_täiendamisega_omandiga) . Siis klõpsake Käivita .
- Pärast klõpsamist Jookseb, märkate, et nüüd on loodud ja avatud uus fail.
🔎 Koodide lahtikirjutamine
⮚ Kõigepealt anname alamprotseduurile nime, mis on Sub Open_File_with_Add_Property()
⮚ Seejärel deklareerime File_Path muutuja kui String tüüp.
Dim File_Path As String: File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx"
⮚ Ja seadke File_Path muutuja faili asukohale.
Dim wb As Workbook
⮚ Me deklareerime wb muutujana muutuja Töövihik tüüp.
Set wb = Workbooks.Add(File_Path)
⮚ Seejärel lisatakse töövihik kataloogist, mis on salvestatud kataloogis File_Path asukoht, kasutades Workbook.Add vara.
End Sub
⮚ Lõpuks lõpetame selle koodi alamprotseduuri.
Loe edasi: [Fikseeritud!] Meetodi Open of Object Workbooks ebaõnnestus (4 lahendust)
Kokkuvõte
Kokkuvõttes on siinkohal vastus küsimusele, kuidas me saame VBA abil avada muutujate nimedega töövihikuid, 4 erineva näite abil. VBA makro meetod nõuab eelnevat VBAga seotud teadmisi, et mõista nullist.
Selle probleemi jaoks on saadaval allalaaditav makrotoimingutega töövihik, kus saate neid meetodeid harjutada.
Võite vabalt esitada küsimusi või tagasisidet kommentaaride sektsiooni kaudu. Iga ettepanek paremaks Exceldemy kogukond on väga tänuväärne