Ako otvoriť zošit s názvom premennej pomocou programu Excel VBA

  • Zdieľajte To
Hugh West

Prirodzene, môžeme potrebovať otvoriť súbor z nadradeného súboru Excelu pomocou VBA v inom adresári. Zároveň však máme rôzne typy kritérií aj o tom, ako chceme otvoriť zošit. Ak ste zvedaví, ako môžete otvoriť zošit s premenným názvom, potom sa vám tento článok môže hodiť. V tomto článku sa zaoberáme tým, ako môžete otvoriť zošit s premenným názvompomocou VBA v programe Excel s podrobným vysvetlením.

Stiahnite si cvičebnicu

Stiahnite si tento cvičebnicu nižšie.

Otvorenie zošita s názvom premennej pomocou VBA.xlsm

Ukážka.xlsx

4 jednoduché spôsoby otvorenia zošita s názvom premennej pomocou VBA v programe Excel

Na ukážku použijeme nižšie uvedený súbor údajov. Máme informácie o niekoľkých produktoch s ich Id. toto je vzorový súbor, ktorý otvoríme pomocou kódu VBA.

1. Použitie vlastnosti Workbook.Open

Použitie Pracovný zošit.Otvoriť vlastnosť, môžeme otvárať súbory uvedením adresára alebo neuvedením umiestnenia. Môžeme tiež nastaviť, aby bol otvorený súbor len na čítanie.

1.1 Otvorenie zošita s uvedením cesty k súboru

V ďalšej metóde použijeme Vlastnosť Workbook.Open na otvorenie súboru priamo z uvedeného adresára umiestnenia súboru. Bez ohľadu na to, kde sa súbor nachádza, môžeme ho ľahko otvoriť.

Kroky

  • V priečinku dokumentov máme uložený súbor, ktorý potrebujeme otvoriť.
  • Názov súboru použijeme ako premennú a potom súbor otvoríme pomocou malého makra VBA.
  • Presný adresár súboru je uvedený nižšie v okne vlastností.

  • Najprv prejdite na Vývojár a kliknite na kartu Visual Basic Ak to nemáte, musíte zapnúť kartu Vývojár Alebo môžete tiež stlačiť tlačidlo Alt+F11' na otvorenie Editor jazyka Visual Basic .

  • Potom sa zobrazí nové dialógové okno, v ktorom kliknite na Vložte > Modul .

  • Ďalej v Modul editora zadajte nasledujúci kód:
 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 

  • Potom zatvorte Modul okno.
  • Potom prejdite na stránku Zobraziť karta> Makrá .
  • Potom kliknite na Zobraziť makrá .

  • Po kliknutí na Zobraziť makrá, vyberte makrá, ktoré ste práve vytvorili. Ich názov je Open_with_File_Path Potom kliknite na tlačidlo Spustiť .

  • Potom sa Vzorka otvorí súbor.

🔎 Rozdelenie kódu

 Sub Open_with_File_Path() 

⮚ Najprv uvedieme názov čiastkovej procedúry, ktorá je Open_with_File_Path .

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

⮚ Potom umiestnime umiestnenie súboru do File_Path premenná

 Dim wrkbk Ako zošit 

⮚ Potom deklarujeme našu premennú wrkbk , ktorého typom je zošit.

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

⮚ Potom otvoríme súbor s názvom File_Path premennú adresára a nastavte súbor ako wrkbk premenná.

 Koniec Sub 

⮚ Nakoniec ukončíme čiastkovú procedúru tohto kódu.

Prečítajte si viac: Ako otvoriť zošit z cesty pomocou programu Excel VBA (4 príklady)

1.2 Otvorenie zošita bez uvedenia cesty k súboru

V ďalšej metóde otvoríme súbor z nadradeného priečinka, v ktorom je uložený hlavný súbor. Súbor možno otvoriť bez uvedenia akéhokoľvek umiestnenia v kóde. Tento súbor sa len musí nachádzať v rovnakom priečinku ako nadradený priečinok.

Kroky

  • V tom istom adresári, v ktorom je teraz uložený nadradený súbor programu Excel, máme uložený iný súbor.
  • Názov súboru je 1.

  • Najprv prejdite na Vývojár a kliknite na kartu Visual Basic Ak to nemáte, musíte zapnúť kartu Vývojár . Alebo môžete tiež stlačiť tlačidlo Alt+F11 ' na otvorenie Editor jazyka Visual Basic .

  • Potom sa zobrazí nové dialógové okno, v ktorom kliknite na Vložte > Modul .

  • Ďalej v Modul editora zadajte nasledujúci kód:
 Sub Open_without_File_Path() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:="1.xlsx") End Sub 

  • Potom zatvorte Modul okno.
  • Potom prejdite na stránku Zobraziť karta> Makrá .
  • Potom kliknite na Zobraziť makrá .

  • Po kliknutí na tlačidlo Zobraziť makrá vyberte makrá, ktoré ste práve vytvorili. Ich názov je Open_without_File_Path Potom kliknite na tlačidlo Spustiť.

  • Po stlačení Spustiť , zistíte, že je teraz otvorený súbor s názvom 1.
  • A takto otvoríme zošit s názvom premennej pomocou VBA v programe Excel.

🔎 Rozdelenie kódu

 Sub Open_without_File_Path() 

⮚ Najprv uvedieme názov čiastkovej procedúry, ktorá je Sub Open_without_File_Path()

 Dim wrkbk Ako zošit 

⮚ Vyhlasujeme wrkbk ako premenná v type zošita

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

⮚ Otvoríme súbor z nadradeného adresára s názvom 1.xlsx .

 Koniec Sub 

⮚ Nakoniec ukončíme čiastkovú procedúru tohto kódu.

1.3 Otvoriť zošit len na čítanie

Táto metóda je dosť podobná prvej metóde, ale tu otvoríme súbor v režime len na čítanie, čo znamená, že nebudeme môcť meniť žiadne údaje ani hodnoty v súbore Excel.

Kroky

  • Súbor, ktorý chceme otvoriť, je uložený v priečinku dokumentov.
  • A toto je súbor, ktorý chceme otvoriť len na čítanie.

  • Najprv prejdite na Vývojár a kliknite na kartu Visual Basic Ak to nemáte, musíte zapnúť kartu Vývojár Alebo môžete tiež stlačiť tlačidlo Alt+F11 ' na otvorenie editora jazyka Visual Basic.

  • Potom sa zobrazí nové dialógové okno, v ktorom kliknite na Vložte > Modul .

  • Ďalej v Modul editora zadajte nasledujúci kód:
 Sub Open_with_File_Read_Only() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True) End Sub 
  • Potom zatvorte Modul okno.
  • Potom prejdite na stránku Zobraziť karta> Makrá .
  • Potom kliknite na Zobraziť makrá .

  • Po kliknutí na tlačidlo Zobraziť makrá vyberte makrá, ktoré ste práve vytvorili. Ich názov je Open_with_File_Read_Only Potom kliknite na tlačidlo Spustiť .

  • Po kliknutí na Spustiť , uvidíme, že súbor je teraz otvorený len na čítanie, ako je zobrazené v titulkovom riadku.

🔎 Rozdelenie kódu

 Sub Open_with_File_Read_Only() 

⮚ Najprv uvedieme názov čiastkovej procedúry, ktorá je Open_with_File_Read_Only()

 Dim wrkbk Ako zošit 

⮚ Vyhlasujeme wrkbk ako premenná v type zošita

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

⮚ Súbor sa potom otvorí z určeného adresára a súbor sa nastaví len na čítanie posledným argumentom.

 Koniec Sub 

⮚ Nakoniec ukončíme čiastkovú procedúru tohto kódu.

Prečítajte si viac: Ako otvoriť zošit len na čítanie pomocou programu Excel VBA

2. Používanie poľa správ

Takmer podobne ako pri predchádzajúcej metóde môžeme v programe Excel otvárať súbory prostredníctvom kódu VBA, ale v tomto prípade sem začleníme malé okno so správou.

Kroky

  • Najprv prejdite na Vývojár a kliknite na kartu Visual Basic Ak to nemáte, musíte zapnúť kartu Vývojár . Alebo môžete tiež stlačiť tlačidlo Alt+F11' na otvorenie Editor jazyka Visual Basic .

  • Potom sa zobrazí nové dialógové okno, v ktorom kliknite na Vložte > Modul .

  • Ďalej v Modul editora zadajte nasledujúci kód:
 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 "Súbor bol úspešne otvorený" Else MsgBox "Otvorenie súboru zlyhalo" End If End Sub 

  • Potom zatvorte Modul okno.
  • Potom prejdite na Zobraziť karta> Makrá .
  • Potom kliknite na Zobraziť makrá .

  • Po kliknutí na Zobraziť makrá, vyberte makrá, ktoré ste práve vytvorili. Ich názov je Open_File_with_Messege_Box Potom kliknite na tlačidlo Spustiť .

  • Potom sa zobrazí okno s upozornením, že Súbor bol úspešne otvorený .
  • Potom kliknite na tlačidlo OK .

  • A potom uvidíme, že súbor je teraz otvorený.

  • A potom sa pokúsime kód trochu zmeniť.
  • Názov súboru zmeníme na Vzorka10 a v skutočnosti neexistuje žiadny súbor s názvom Vzorka10 v priečinku dokumentov.

  • Potom sme Spustiť kód znova a zobrazí sa okno s hlásením Otvorenie súboru zlyhalo .
  • Kliknite na . OK po tomto.

🔎 Rozdelenie kódu

 Sub Open_File_with_Messege_Box() 

⮚ Najprv uvedieme názov čiastkovej procedúry, ktorá je Open_with_File_Read_Only()

 Dim path As String: 

⮚ Vyhlasujeme wrkbk ako premennú v type zošita

 Ak Dir(cesta) "" Potom Workbooks.Open (cesta) 
 MsgBox "Súbor bol úspešne otvorený" Inak 

⮚ Tento riadok skontroluje, či je súbor s názvom Sample dostupný v adresári alebo nie, ak tam súbor je, potom ho otvorí a zároveň zobrazí správu.

 MsgBox "Otvorenie súboru sa nepodarilo" 

⮚ Ak neexistuje súbor s názvom Vzorka v adresári, potom bude táto správa doručená.

 Koniec If 

⮚ Nakoniec ukončíme čiastkovú procedúru tohto kódu.

 Koniec Sub 

⮚ Nakoniec ukončíme čiastkovú procedúru tohto kódu.

Prečítajte si viac: Ako otvoriť zošit a spustiť makro pomocou VBA (4 príklady)

3. Použitie dialógového okna na otvorenie súboru

Rozbaľovanie adresára s umiestnením súborov a ich importovanie zakaždým do kódu VBA je dosť ťažkopádne. Na vyriešenie tohto problému si ukážeme, ako môžete použiť dialógové okno na výber súboru z ľubovoľného adresára.

Kroky

  • Teraz otvoríme súbor pomocou dialógového okna Prieskumník súborov.
  • Najprv prejdite na Vývojár a kliknite na kartu Visual Basic Ak to nemáte, musíte zapnúť kartu Vývojár . Alebo môžete tiež stlačiť tlačidlo Alt+F11' na otvorenie Editor jazyka Visual Basic .

  • Potom sa zobrazí nové dialógové okno, v ktorom kliknite na Vložte > Modul .

  • Ďalej v Modul editora zadajte nasledujúci kód:
 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 
  • Potom zatvorte Modul okno.
  • Potom prejdite na stránku Zobraziť karta> Makrá .
  • Potom kliknite na Zobraziť makrá .

  • Po kliknutí na Zobraziť makrá, vyberte makrá, ktoré ste práve vytvorili. Ich názov je Open_File_with_Dialog_Box Potom kliknite na tlačidlo Spustiť .

  • A potom sa otvorí nové okno. V dialógovom okne Prieskumník súborov a vyberte Vzorka a kliknite na OK .

  • Potom súbor s názvom Vzorka otvorené.
  • A takto otvoríme zošit s názvom premennej pomocou VBA v programe Excel.

🔎 Rozdelenie kódu

 Sub Open_File_with_Dialog_Box() 

⮚ Najprv uvedieme názov čiastkovej procedúry, ktorá je Sub Open_File_with_Dialog_Box()

 Dim Dbox As FileDialog 

⮚ Vyhlasujeme Dbox ako premenná v FileDialog typ

 Dim File_Path As String 

⮚ Vyhlasujeme File_Path ako premennú v File_Path Ako String typ

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

⮚ Od prvého riadku sa zobrazí dialógové okno. Ďalší riadok označuje názov dialógového okna a typ súboru.

Dbox.Title nastaví názov dialógového okna. a Typ súboru nastaviť typ súboru.

 Dbox.Filters.Clear 

Dbox.Filters.Clear vymaže všetky predchádzajúce filtre použité v poli diaog

 Dbox.Show 

Dbox.Show sa dialógové okno zobrazí v súbore.

⮚ Tento riadok určí, či používateľ vybral viac ako jeden súbor alebo nie. Ak používateľ vyberie viac ako jeden súbor, celý postup sa zastaví.

 Koniec Sub 

⮚ Nakoniec ukončíme čiastkovú procedúru tohto kódu.

Prečítajte si viac: Ako otvoriť priečinok a vybrať súbor pomocou programu Excel VBA (4 príklady)

4. Použitie vlastnosti Workbook.Add

Na rozdiel od predchádzajúcich metód vytvoríme nový súbor Excel vo vopred určenom adresári a potom ho otvoríme pomocou príkazu Pracovný zošit. Pridať nehnuteľnosť.

Kroky

  • Najprv prejdite na Vývojár a kliknite na kartu Visual Basic Ak to nemáte, musíte zapnúť kartu Vývojár . Alebo môžete tiež stlačiť tlačidlo Alt+F11' na otvorenie Editor jazyka Visual Basic .

  • Potom sa zobrazí nové dialógové okno, v ktorom kliknite na Vložte > Modul .

Ďalej v Modul editora zadajte nasledujúci kód:

 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 
  • Potom zatvorte Modul okno.
  • Potom prejdite na Zobraziť karta> Makrá .
  • Potom kliknite na Zobraziť makrá .

  • Po kliknutí na Zobraziť makrá, vyberte makrá, ktoré ste práve vytvorili. Ich názov je Open_File_with_Add_Property Potom kliknite na tlačidlo Spustiť .

  • Po kliknutí na Bežte, si všimnete, že sa vytvoril a otvoril nový súbor.

🔎 Rozdelenie kódu

⮚ Najprv uvedieme názov čiastkovej procedúry, ktorá je Sub Open_File_with_Add_Property()

⮚ Potom vyhlásime File_Path premenná ako String typ.

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

⮚ A nastavte File_Path premennú na umiestnenie súboru.

 Dim wb ako zošit 

⮚ Vyhlasujeme wb ako premennú v Pracovný zošit typ.

 Set wb = Workbooks.Add(File_Path) 

⮚ Pracovný zošit sa potom pridá z adresára uloženého v File_Path umiestnenie pomocou Workbook.Add nehnuteľnosť.

 Koniec Sub 

⮚ Nakoniec ukončíme čiastkovú procedúru tohto kódu.

Prečítajte si viac: [Opravené!] Nepodarilo sa otvoriť metódu Object Workbooks (4 riešenia)

Záver

Ak to zhrnieme, na otázku, ako môžeme otvárať zošity s názvami premenných pomocou VBA, tu odpovedajú 4 rôzne príklady. Makro VBA metóda vyžaduje predchádzajúce Stránka súvisiaca s VBA vedomosti pochopiť od základov.

K tomuto problému je k dispozícii na stiahnutie zošit s makrami, v ktorom si môžete tieto metódy precvičiť.

Neváhajte položiť akékoľvek otázky alebo spätnú väzbu prostredníctvom sekcie komentárov. Akékoľvek návrhy na zlepšenie Exceldemy komunita bude vysoko cenená

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.