Kaip atidaryti darbaknygę su kintamuoju vardu naudojant "Excel VBA

  • Pasidalinti
Hugh West

Žinoma, mums gali prireikti atidaryti failą iš pagrindinio "Excel" failo, naudojant VBA, esančio kitame kataloge. Tačiau tuo pat metu turime įvairių tipų kriterijų ir apie tai, kaip norime atidaryti darbaknygę. Jei jums įdomu sužinoti, kaip galite atidaryti darbaknygę su kintamuoju pavadinimu, šis straipsnis gali jums praversti. Šiame straipsnyje aptariame, kaip galite atidaryti darbaknygę su kintamuoju pavadinimunaudojant VBA programoje "Excel", su išsamiais paaiškinimais.

Atsisiųsti praktikos sąsiuvinį

Atsisiųskite šį pratybų sąsiuvinį žemiau.

Atidaryti sąsiuvinį su kintamuoju vardu naudojant VBA.xlsm

Pavyzdys.xlsx

4 paprasti būdai atidaryti darbo knygą su kintamojo vardu naudojant VBA programoje "Excel

Demonstravimui naudosime toliau pateiktą duomenų rinkinį. Turime kelių produktų informaciją su jų Id. tai yra pavyzdinis failas, kurį atidarysime naudodami VBA kodą.

1. Naudojant Workbook.Open savybę

Naudojant Workbook.Open savybė, galime atidaryti failus nurodydami katalogą arba nenurodydami vietos. Taip pat galime atidarytą failą paversti tik skaitymui skirtu failu.

1.1 Atidaryti sąsiuvinį, nurodant failo kelią

Kitame metode naudosime Workbook.Open savybė atidaryti failą tiesiogiai iš minėto failo vietos katalogo. Nesvarbu, kur yra failas, galime lengvai jį atidaryti.

Žingsniai

  • Dokumentų aplanke turime išsaugotą failą, kurį reikia atidaryti.
  • Failo pavadinimą naudosime kaip kintamąjį, o tada failą atidarysime naudodami nedidelį VBA makrokomandą.
  • Toliau savybių lange rodomas tikslus failo katalogas.

  • Pirmiausia eikite į Kūrėjas skirtuką ir spustelėkite "Visual Basic Jei to neturite, turite įjungti skirtuką Kūrėjas . Arba galite paspausti Alt+F11' atidarant "Visual Basic" redaktorius .

  • Tuomet atsiras naujas dialogo langas, kuriame spustelėkite Įdėkite > Modulis .

  • Toliau, į Modulis redaktoriaus lange įveskite šį kodą:
 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 

  • Tada uždarykite Modulis langas.
  • Po to eikite į Peržiūrėti skirtukas> Makrokomandos .
  • Tada spustelėkite Peržiūrėti makrokomandas .

  • Paspaudę Peržiūrėti makrokomandas, pasirinkite ką tik sukurtą makrokomandą. Pavadinimas čia yra Open_with_File_Path . Tada spustelėkite Paleisti .

  • Po to Pavyzdys bus atidarytas failas.

🔎 Kodo suskirstymas

 Dalis Open_with_File_Path() 

⮚ Pirma, pateikiame paprocedūros pavadinimą, kuris yra Open_with_File_Path .

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

⮚ Tada failo vietą įrašome į File_Path kintamasis

 Dim wrkbk kaip darbo knyga 

⮚ Tada deklaruojame savo kintamąjį wrkbk , kurio tipas yra darbo knyga.

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

⮚ Tada atidarome failą, pavadintą File_Path katalogo kintamąjį ir nustatykite failą kaip wrkbk kintamas.

 Pabaiga Sub 

⮚ Galiausiai užbaigiame šio kodo paprocedūrą.

Skaityti daugiau: Kaip atidaryti darbaknygę iš kelio naudojant "Excel VBA" (4 pavyzdžiai)

1.2 Atidaryti sąsiuvinį nenurodant failo kelio

Kitame metode atidarysime failą iš pagrindinio aplanko, kuriame išsaugotas pagrindinis failas. Failą galima atidaryti nenurodant jokios vietos kode. Šis failas tiesiog turi būti tame pačiame aplanke kaip ir pagrindinis aplankas.

Žingsniai

  • Tame pačiame kataloge, kuriame dabar yra išsaugotas pagrindinis "Excel" failas, yra išsaugotas kitas failas.
  • Failo pavadinimas yra 1.

  • Pirmiausia eikite į Kūrėjas skirtuką ir spustelėkite "Visual Basic Jei to neturite, turite įjungti skirtuką Kūrėjas . Arba Taip pat galite paspausti Alt+F11 ', kad atidarytumėte "Visual Basic" redaktorius .

  • Tuomet atsiras naujas dialogo langas, kuriame spustelėkite Įdėkite > Modulis .

  • Toliau, į Modulis redaktoriaus lange įveskite šį kodą:
 Sub Open_without_File_Path() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:="1.xlsx") End Sub 

  • Tada uždarykite Modulis langas.
  • Po to eikite į Peržiūrėti skirtukas> Makrokomandos .
  • Tada spustelėkite Peržiūrėti makrokomandas .

  • Spustelėję View Macros (Peržiūrėti makrokomandas), pasirinkite ką tik sukurtas makrokomandas. Pavadinimas čia yra Open_without_File_Path . Tada spustelėkite Paleisti.

  • Paspaudus Paleisti , pastebėsite, kad dabar atidarytas failas pavadinimu 1.
  • Štai kaip "Excel" programoje atidarome sąsiuvinį su kintamuoju pavadinimu naudodami VBA.

🔎 Kodo suskirstymas

 Dalis Open_without_File_Path() 

⮚ Pirma, pateikiame paprocedūros pavadinimą, kuris yra Dalis Open_without_File_Path()

 Dim wrkbk kaip darbo knyga 

⮚ Skelbiame wrkbk kaip sąsiuvinio tipo kintamąjį

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

⮚ Atidarome failą iš pagrindinio katalogo pavadinimu 1.xlsx .

 Pabaiga Sub 

⮚ Galiausiai užbaigiame šio kodo paprocedūrą.

1.3 Atidaryti sąsiuvinį kaip tik skaitomą

Šis metodas yra gana panašus į pirmąjį metodą, tačiau šiuo atveju failą atidarysime tik skaitymo režimu, t. y. negalėsime keisti jokių "Excel" failo duomenų ar reikšmių.

Žingsniai

  • Failas, kurį norime atidaryti, yra išsaugotas dokumentų aplanke.
  • Šį failą norime atidaryti tik skaitymui.

  • Pirmiausia eikite į Kūrėjas skirtuką ir spustelėkite "Visual Basic Jei to neturite, turite įjungti skirtuką Kūrėjas . Arba galite paspausti Alt+F11 ', kad atidarytumėte Visual Basic redaktorių.

  • Tuomet atsiras naujas dialogo langas, kuriame spustelėkite Įdėkite > Modulis .

  • Toliau, į Modulis redaktoriaus lange įveskite šį kodą:
 Sub Open_with_File_Read_Only() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True) End Sub 
  • Tada uždarykite Modulis langas.
  • Po to eikite į Peržiūrėti skirtukas> Makrokomandos .
  • Tada spustelėkite Peržiūrėti makrokomandas .

  • Spustelėję View Macros (Peržiūrėti makrokomandas), pasirinkite ką tik sukurtas makrokomandas. Pavadinimas čia yra Open_with_File_Read_Only . Tada spustelėkite Paleisti .

  • Paspaudę Paleisti , pamatysime, kad dabar failas atidarytas tik skaitymui, kaip parodyta pavadinimo juostoje.

🔎 Kodo suskirstymas

 Dalis Open_with_File_Read_Only() 

⮚ Pirma, pateikiame paprocedūros pavadinimą, kuris yra Open_with_File_Read_Only()

 Dim wrkbk kaip darbo knyga 

⮚ Skelbiame wrkbk kaip kintamąjį sąsiuvinio tipą

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

⮚ Tada failas bus atidarytas iš nurodyto katalogo, o failas bus nustatytas tik skaityti pagal paskutinį argumentą.

 Pabaiga Sub 

⮚ Galiausiai užbaigiame šio kodo paprocedūrą.

Skaityti daugiau: Kaip atidaryti darbaknygę kaip tik skaitomą naudojant "Excel VBA

2. Pranešimų langelio naudojimas

Beveik panašiai kaip ir ankstesniame metode, galime atidaryti failus naudodami VBA kodą "Excel" programoje, tačiau šiuo atveju čia įterpsime nedidelį pranešimo langą.

Žingsniai

  • Pirmiausia eikite į Kūrėjas skirtuką ir spustelėkite "Visual Basic Jei to neturite, turite įjungti skirtuką Kūrėjas . Arba Taip pat galite paspausti Alt+F11' atidarant "Visual Basic" redaktorius .

  • Tuomet atsiras naujas dialogo langas, kuriame spustelėkite Įdėkite > Modulis .

  • Toliau, į Modulis redaktoriaus lange įveskite šį kodą:
 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 "Failas atidarytas sėkmingai" Else MsgBox "Failo atidarymas nepavyko" End If End Sub 

  • Tada uždarykite Modulis langas.
  • Po to eikite į Peržiūrėti skirtukas> Makrokomandos .
  • Tada spustelėkite Peržiūrėti makrokomandas .

  • Paspaudę Peržiūrėti makrokomandas, pasirinkite ką tik sukurtą makrokomandą. Pavadinimas čia yra Open_File_with_Messege_Box . Tada spustelėkite Paleisti .

  • Tada pasirodė įspėjimo langelis, kuriame rodoma, kad Failas atidarytas sėkmingai .
  • Tada spustelėkite GERAI .

  • Tada pamatysime, kad failas atidarytas.

  • Tada bandome šiek tiek pakeisti kodą.
  • Pakeičiame failo pavadinimą į Pavyzdys10 ir iš tikrųjų nėra jokio failo, pavadinto Pavyzdys10 dokumentų aplanke.

  • Tada mes Paleisti kodą dar kartą, ir pasirodo pranešimo langelis, kuriame rašoma. Nepavyko atidaryti failo .
  • Spustelėkite GERAI po to.

🔎 Kodo suskirstymas

 Dalis Open_File_with_Messege_Box() 

⮚ Pirma, pateikiame paprocedūros pavadinimą, kuris yra Open_with_File_Read_Only()

 Dim path As String: 

⮚ Skelbiame wrkbk kaip sąsiuvinio tipo kintamąjį

 Jei Dir(kelias) "" Tada Workbooks.Open (kelias) 
 MsgBox "Failas atidarytas sėkmingai" Kitaip 

⮚ Šioje eilutėje bus patikrinta, ar failas, pavadintas Sample, yra kataloge, ar ne, jei failas yra, jis bus atidarytas ir tuo pačiu metu bus parodytas pranešimas.

 MsgBox "Failo atidarymas nepavyko" 

⮚ Jei nėra failo pavadinimu Pavyzdys kataloge, šis pranešimas bus pristatytas.

 End If 

⮚ Galiausiai užbaigiame šio kodo paprocedūrą.

 Pabaiga Sub 

⮚ Galiausiai užbaigiame šio kodo paprocedūrą.

Skaityti daugiau: Kaip atidaryti sąsiuvinį ir paleisti makrokomandą naudojant VBA (4 pavyzdžiai)

3. Dialogo langelio naudojimas failui atidaryti

Failų vietos katalogo išskyrimas ir jų importavimas kiekvieną kartą į VBA kodą yra gana nepatogus. Norėdami išspręsti šią problemą, parodysime, kaip galite naudoti dialogo langą, kad pasirinktumėte failą iš bet kurio katalogo.

Žingsniai

  • Dabar atidarysime failą naudodami failų tyrėjo dialogo langą.
  • Pirmiausia eikite į Kūrėjas skirtuką ir spustelėkite "Visual Basic Jei to neturite, turite įjungti skirtuką Kūrėjas . Arba Taip pat galite paspausti Alt+F11' atidarant "Visual Basic" redaktorius .

  • Tuomet atsiras naujas dialogo langas, kuriame spustelėkite Įdėkite > Modulis .

  • Toliau, į Modulis redaktoriaus lange įveskite šį kodą:
 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 
  • Tada uždarykite Modulis langas.
  • Po to eikite į Peržiūrėti skirtukas> Makrokomandos .
  • Tada spustelėkite Peržiūrėti makrokomandas .

  • Paspaudę Peržiūrėti makrokomandas, pasirinkite ką tik sukurtą makrokomandą. Pavadinimas yra Open_File_with_Dialog_Box . Tada spustelėkite Paleisti .

  • Tada atsidaro naujas langas. Failų tyrėjo dialogo lange ir pasirinkite Pavyzdys ir spustelėkite GERAI .

  • Tada failas pavadinimu Pavyzdys atidarytas.
  • Štai kaip "Excel" programoje atidarome sąsiuvinį su kintamuoju pavadinimu naudodami VBA.

🔎 Kodo suskirstymas

 Dalis Atidaryti failą su dialogo langeliu() 

⮚ Pirma, pateikiame paprocedūros pavadinimą, kuris yra Dalis Atidaryti failą su dialogo langeliu()

 Dim Dbox As FileDialog 

⮚ Skelbiame Dbox kaip kintamąjį FileDialog tipas

 Dim File_Path kaip eilutė 

⮚ Skelbiame File_Path kaip kintamąjį File_Path Kaip Stygos tipas

 Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Choose and Open " & amp; FileType 

⮚ Nuo pirmosios eilutės bus dialogo langas. Kitoje eilutėje nurodomas dialogo lango pavadinimas ir failo tipas.

Dbox.Title bus nustatytas dialogo lango pavadinimas. ir Failo tipas nustatyti failo tipą.

 Dbox.Filters.Clear 

Dbox.Filters.Clear ištrins bet kokį ankstesnį diaog lange taikytą filtrą.

 Dbox.Show 

Dbox.Show dialogo langas bus rodomas faile.

⮚ Šioje eilutėje nustatoma, ar naudotojas pasirinko daugiau nei vieną failą, ar ne. Jei naudotojas pasirinktų daugiau nei vieną failą, visa procedūra būtų sustabdyta.

 Pabaiga Sub 

⮚ Galiausiai užbaigiame šio kodo paprocedūrą.

Skaityti daugiau: Kaip atidaryti aplanką ir pasirinkti failą naudojant "Excel VBA" (4 pavyzdžiai)

4. Naudojant Workbook.Add Property

Priešingai nei ankstesniais metodais, sukursime naują "Excel" failą iš anksto nustatytame kataloge ir jį atidarysime naudodami Darbo knyga. Pridėti nuosavybė.

Žingsniai

  • Pirmiausia eikite į Kūrėjas skirtuką ir spustelėkite "Visual Basic Jei to neturite, turite įjungti skirtuką Kūrėjas . Arba Taip pat galite paspausti Alt+F11' atidarant "Visual Basic" redaktorius .

  • Tuomet atsiras naujas dialogo langas, kuriame spustelėkite Įdėkite > Modulis .

Toliau, į Modulis redaktoriaus lange įveskite šį kodą:

 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 
  • Tada uždarykite Modulis langas.
  • Po to eikite į Peržiūrėti skirtukas> Makrokomandos .
  • Tada spustelėkite Peržiūrėti makrokomandas .

  • Paspaudę Peržiūrėti makrokomandas, pasirinkite ką tik sukurtą makrokomandą. Pavadinimas čia yra Open_File_with_Add_Property . Tada spustelėkite Paleisti .

  • Paspaudę Bėgti, pastebėsite, kad sukurtas ir atidarytas naujas failas.

🔎 Kodo suskirstymas

⮚ Pirma, pateikiame paprocedūros pavadinimą, kuris yra Dalis Atidaryti_Failą_su_pridedama_savybe()

⮚ Tada deklaruojame File_Path kintamąjį kaip Stygos tipas.

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

⮚ Ir nustatykite File_Path kintamąjį į failo vietą.

 Dim wb kaip darbaknygė 

⮚ Skelbiame wb kaip kintamąjį Darbo knyga tipas.

 Set wb = Workbooks.Add(File_Path) 

⮚ Tuomet darbo knyga pridedama iš katalogo, saugomo File_Path vietą naudojant Workbook.Add nuosavybė.

 Pabaiga Sub 

⮚ Galiausiai užbaigiame šio kodo paprocedūrą.

Skaityti daugiau: [Pataisyta!] Nepavyko atidaryti objektų sąsiuvinių metodo (4 sprendimai)

Išvada

Apibendrinant galima teigti, kad į klausimą, kaip galime atverti sąsiuvinius su kintamaisiais pavadinimais naudodami VBA, čia atsakoma 4 skirtingais pavyzdžiais. VBA makrokomandos metodas reikalauja išankstinio Su VBA susijęs žinias suprasti iš pagrindų.

Šiam uždaviniui spręsti galima atsisiųsti makrokomandų sąsiuvinį, kuriame galėsite praktiškai išbandyti šiuos metodus.

Drąsiai užduokite bet kokius klausimus ar atsiliepimus per komentarų skyrių. Bet koks pasiūlymas dėl geresnio Exceldemy bendruomenė bus labai vertinama.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.