Jak otevřít sešit s názvem proměnné pomocí aplikace Excel VBA

  • Sdílet Toto
Hugh West

Samozřejmě můžeme potřebovat otevřít soubor z nadřazeného souboru Excelu pomocí VBA v jiném adresáři. Zároveň však máme různé typy kritérií také o tom, jak chceme sešit otevřít. Pokud vás zajímá, jak můžete otevřít sešit s proměnným názvem, pak se vám tento článek může hodit. V tomto článku se zabýváme tím, jak můžete otevřít sešit s proměnným názvem.pomocí VBA v aplikaci Excel s podrobným vysvětlením.

Stáhnout cvičebnici

Stáhněte si tento cvičební sešit níže.

Otevření sešitu s názvem proměnné pomocí VBA.xlsm

Sample.xlsx

4 snadné způsoby otevření sešitu s názvem proměnné pomocí VBA v aplikaci Excel

Pro ukázku použijeme níže uvedený soubor dat. Máme informace o několika produktech s jejich Id. jedná se o ukázkový soubor, který otevřeme pomocí kódu VBA.

1. Použití vlastnosti Sešit.Otevřít

Použití Sešit.Otevřít můžeme otevírat soubory s uvedením adresáře nebo bez uvedení umístění. Můžeme také nastavit, aby byl otevřený soubor pouze pro čtení.

1.1 Otevření sešitu s uvedením cesty k souboru

V další metodě použijeme příkaz Vlastnost Sešit.Otevřít k otevření souboru přímo z uvedeného adresáře umístění souboru. Bez ohledu na to, kde se soubor nachází, můžeme soubor snadno otevřít.

Kroky

  • Ve složce dokumentů máme uložený soubor, který potřebujeme otevřít.
  • Název souboru použijeme jako proměnnou a poté soubor otevřeme pomocí malého makra VBA.
  • Přesný adresář souboru je uveden níže v okně vlastností.

  • Nejprve přejděte do Vývojář a klikněte na Visual Basic Pokud to nemáte, musíte si to povolit kartu Vývojář Nebo můžete také stisknout tlačítko Alt+F11' pro otevření Editor jazyka Visual Basic .

  • Poté se zobrazí nové dialogové okno, v němž klikněte na možnost Vložte > Modul .

  • Dále v Modul editoru zadejte následující 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 

  • Pak zavřete Modul okno.
  • Poté přejděte na Zobrazit karta> Makra .
  • Pak klikněte na Zobrazit makra .

  • Po kliknutí na Zobrazit makra, vyberte makra, která jste právě vytvořili. Jejich název je Open_with_File_Path . Pak klikněte na Spustit .

  • Poté se Ukázka soubor otevře.

🔎 Rozdělení kódu

 Sub Open_with_File_Path() 

⮚ Nejprve uvedeme název dílčího postupu, kterým je Open_with_File_Path .

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

⮚ Poté umístíme umístění souboru do pole File_Path proměnná

 Dim wrkbk As Sešit 

⮚ Pak deklarujeme naši proměnnou wrkbk , jehož typem je sešit.

 Set wrkbk = Sešity.Otevřít(Název souboru:=Cesta k souboru) 

⮚ Poté otevřeme soubor pojmenovaný v položce File_Path proměnnou adresáře a nastavte soubor jako wrkbk variabilní.

 End Sub 

⮚ Nakonec ukončíme dílčí postup tohoto kódu.

Přečtěte si více: Jak otevřít sešit z cesty pomocí aplikace Excel VBA (4 příklady)

1.2 Otevření sešitu bez uvedení cesty k souboru

V další metodě otevřeme soubor z nadřazené složky, kde je uložen hlavní soubor. Soubor lze otevřít, aniž bychom v kódu uváděli nějaké umístění. Tento soubor se pouze musí nacházet ve stejné složce jako nadřazená složka.

Kroky

  • Ve stejném adresáři, kde je nyní uložen nadřazený soubor aplikace Excel, máme uložen jiný soubor.
  • Název souboru je 1.

  • Nejprve přejděte do Vývojář a klikněte na Visual Basic Pokud to nemáte, musíte si to povolit kartu Vývojář . Nebo můžete také stisknout tlačítko Alt+F11 ' pro otevření Editor jazyka Visual Basic .

  • Poté se zobrazí nové dialogové okno, v němž klikněte na možnost Vložte > Modul .

  • Dále v Modul editoru zadejte následující kód:
 Sub Open_without_File_Path() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:="1.xlsx") End Sub 

  • Pak zavřete Modul okno.
  • Poté přejděte na Zobrazit karta> Makra .
  • Pak klikněte na Zobrazit makra .

  • Po kliknutí na tlačítko Zobrazit makra vyberte makra, která jste právě vytvořili. Jejich název zde je Open_without_File_Path . Poté klikněte na tlačítko Spustit.

  • Po stisknutí Spustit , zjistíte, že je nyní otevřen soubor s názvem 1.
  • A takto otevřeme sešit s názvem proměnné pomocí VBA v aplikaci Excel.

🔎 Rozdělení kódu

 Sub Open_without_File_Path() 

⮚ Nejprve uvedeme název dílčího postupu, kterým je Sub Open_without_File_Path()

 Dim wrkbk As Sešit 

⮚ Prohlašujeme wrkbk jako proměnná v typu sešitu

 Set wrkbk = Workbooks.Open(Název souboru:="1.xlsx") 

⮚ Otevřeme soubor z nadřazeného adresáře s názvem 1.xlsx .

 End Sub 

⮚ Nakonec ukončíme dílčí postup tohoto kódu.

1.3 Otevření sešitu pouze pro čtení

Metoda je dosti podobná první metodě, ale zde otevřeme soubor v režimu pouze pro čtení, což znamená, že nebudeme moci měnit žádná data ani hodnoty v souboru Excel.

Kroky

  • Soubor, který chceme otevřít, je uložen ve složce dokumentů.
  • A toto je soubor, který chceme otevřít pouze pro čtení.

  • Nejprve přejděte do Vývojář a klikněte na Visual Basic Pokud to nemáte, musíte si to povolit kartu Vývojář Nebo můžete také stisknout tlačítko Alt+F11 ' pro otevření editoru jazyka Visual Basic.

  • Poté se zobrazí nové dialogové okno, v němž klikněte na možnost Vložte > Modul .

  • Dále v Modul editoru zadejte následující 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 
  • Pak zavřete Modul okno.
  • Poté přejděte na Zobrazit karta> Makra .
  • Pak klikněte na Zobrazit makra .

  • Po kliknutí na tlačítko Zobrazit makra vyberte makra, která jste právě vytvořili. Jejich název zde je Otevřít_s_souborem_pouze_pro čtení Pak klikněte na tlačítko Spustit .

  • Po kliknutí na Spustit , uvidíme, že soubor je nyní otevřen pouze pro čtení, jak je uvedeno v titulkovém pruhu.

🔎 Rozdělení kódu

 Sub Open_with_File_Read_Only() 

⮚ Nejprve uvedeme název dílčího postupu, kterým je Open_with_File_Read_Only()

 Dim wrkbk As Sešit 

⮚ Prohlašujeme wrkbk jako proměnná v typu sešitu

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

⮚ Soubor se pak otevře z určeného adresáře a soubor se nastaví. pouze pro čtení podle posledního argumentu.

 End Sub 

⮚ Nakonec ukončíme dílčí postup tohoto kódu.

Přečtěte si více: Jak otevřít sešit pouze pro čtení pomocí aplikace Excel VBA

2. Použití pole zpráv

Téměř podobně jako v předchozím případě můžeme v Excelu otevírat soubory pomocí kódu VBA, ale v tomto případě zde zakomponujeme malé okno se zprávou.

Kroky

  • Nejprve přejděte do Vývojář a klikněte na Visual Basic Pokud to nemáte, musíte si to povolit kartu Vývojář . Nebo můžete také stisknout tlačítko Alt+F11' pro otevření Editor jazyka Visual Basic .

  • Poté se zobrazí nové dialogové okno, v němž klikněte na možnost Vložte > Modul .

  • Dále v Modul editoru zadejte následující 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 "Soubor byl úspěšně otevřen" Else MsgBox "Otevření souboru selhalo" End If End Sub 

  • Pak zavřete Modul okno.
  • Poté přejděte na Zobrazit karta> Makra .
  • Pak klikněte na Zobrazit makra .

  • Po kliknutí na Zobrazit makra, vyberte makra, která jste právě vytvořili. Jejich název je Open_File_with_Messege_Box Pak klikněte na tlačítko Spustit .

  • Pak se zobrazí varovné okno, které ukazuje, že Soubor byl úspěšně otevřen .
  • Pak klikněte na OK .

  • A pak uvidíme, že soubor je nyní otevřen.

  • A pak se pokusíme kód trochu pozměnit.
  • Název souboru změníme na Vzorek10 a ve skutečnosti neexistuje žádný soubor s názvem Vzorek10 ve složce dokumentů.

  • Pak jsme Spustit kód znovu a zobrazí se okno se zprávou, že Otevření souboru se nezdařilo .
  • Klikněte na OK po tomto.

🔎 Rozdělení kódu

 Sub Open_File_with_Messege_Box() 

⮚ Nejprve uvedeme název dílčího postupu, kterým je Open_with_File_Read_Only()

 Dim path As String: 

⮚ Prohlašujeme wrkbk jako proměnnou v typu sešitu

 If Dir(cesta) "" Then Sešity.Otevřít (cesta) 
 MsgBox "Soubor byl úspěšně otevřen" Jinak 

⮚ Tento řádek zjistí, zda je soubor s názvem Sample v adresáři k dispozici, nebo ne, pokud tam soubor je, pak jej otevře a zároveň zobrazí zprávu.

 MsgBox "Otevření souboru se nezdařilo" 

⮚ Pokud neexistuje soubor s názvem Ukázka v adresáři, bude tato zpráva doručena.

 End If 

⮚ Nakonec ukončíme dílčí postup tohoto kódu.

 End Sub 

⮚ Nakonec ukončíme dílčí postup tohoto kódu.

Přečtěte si více: Jak otevřít sešit a spustit makro pomocí VBA (4 příklady)

3. Použití dialogového okna pro otevření souboru

Rozbalování adresáře s umístěním souborů a jejich importování pokaždé do kódu VBA je poměrně těžkopádné. Abychom tento problém vyřešili, ukážeme si, jak lze použít dialogové okno pro výběr souboru z libovolného adresáře.

Kroky

  • Nyní soubor otevřeme pomocí dialogového okna průzkumníka souborů.
  • Nejprve přejděte do Vývojář a klikněte na Visual Basic Pokud to nemáte, musíte si to povolit kartu Vývojář . Nebo můžete také stisknout tlačítko Alt+F11' pro otevření Editor jazyka Visual Basic .

  • Poté se zobrazí nové dialogové okno, v němž klikněte na možnost Vložte > Modul .

  • Dále v Modul editoru zadejte následující 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 
  • Pak zavřete Modul okno.
  • Poté přejděte na Zobrazit karta> Makra .
  • Pak klikněte na Zobrazit makra .

  • Po kliknutí na Zobrazit makra, vyberte makra, která jste právě vytvořili. Jejich název je Open_File_with_Dialog_Box Pak klikněte na tlačítko Spustit .

  • A pak se otevře nové okno. V dialogovém okně průzkumníka souborů a vyberte možnost Ukázka a klikněte na OK .

  • Pak soubor s názvem Ukázka otevřeno.
  • A takto otevřeme sešit s názvem proměnné pomocí VBA v aplikaci Excel.

🔎 Rozdělení kódu

 Sub Open_File_with_Dialog_Box() 

⮚ Nejprve uvedeme název dílčího postupu, kterým je Sub Open_File_with_Dialog_Box()

 Dim Dbox As FileDialog 

⮚ Prohlašujeme Dbox jako proměnnou v FileDialog typ

 Dim File_Path As String 

⮚ Prohlašujeme File_Path jako proměnnou v File_Path Jako Řetězec typ

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

⮚ Od prvního řádku se zobrazí dialogové okno. Další řádek označuje název dialogového okna a typ souboru.

Dbox.Title nastaví název dialogového okna. a Typ souboru nastavit typ souboru.

 Dbox.Filtry.Vymazat 

Dbox.Filtry.Vymazat vymaže všechny předchozí filtry použité v poli diaog.

 Dbox.Show 

Dbox.Show se dialogové okno zobrazí v souboru.

⮚ Tento řádek určí, zda uživatel vybral více než jeden soubor nebo ne. Pokud uživatel vybere více než jeden soubor, celý postup se zastaví.

 End Sub 

⮚ Nakonec ukončíme dílčí postup tohoto kódu.

Přečtěte si více: Jak otevřít složku a vybrat soubor pomocí aplikace Excel VBA (4 příklady)

4. Použití vlastnosti Workbook.Add

Na rozdíl od předchozích metod vytvoříme nový soubor aplikace Excel v předem určeném adresáři a poté jej otevřeme pomocí příkazu Pracovní sešit. Přidat nemovitosti.

Kroky

  • Nejprve přejděte do Vývojář a klikněte na Visual Basic Pokud to nemáte, musíte si to povolit kartu Vývojář . Nebo můžete také stisknout tlačítko Alt+F11' pro otevření Editor jazyka Visual Basic .

  • Poté se zobrazí nové dialogové okno, v němž klikněte na možnost Vložte > Modul .

Dále v Modul editoru zadejte následující 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 
  • Pak zavřete Modul okno.
  • Poté přejděte na Zobrazit karta> Makra .
  • Pak klikněte na Zobrazit makra .

  • Po kliknutí na Zobrazit makra, vyberte makra, která jste právě vytvořili. Jejich název je Open_File_with_Add_Property Pak klikněte na tlačítko Spustit .

  • Po kliknutí na Spusťte, si všimnete, že je nyní vytvořen a otevřen nový soubor.

🔎 Rozdělení kódu

⮚ Nejprve uvedeme název dílčího postupu, kterým je Sub Open_File_with_Add_Property()

⮚ Pak prohlásíme File_Path proměnnou jako Řetězec typ.

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

⮚ A nastavte File_Path na umístění souboru.

 Dim wb jako sešit 

⮚ Prohlašujeme wb jako proměnnou v Pracovní sešit typ.

 Set wb = Sešity.Add(File_Path) 

⮚ Sešit je pak přidán z adresáře uloženého v adresáři File_Path umístění pomocí Sešit.Přidat nemovitosti.

 End Sub 

⮚ Nakonec ukončíme dílčí postup tohoto kódu.

Přečtěte si více: [Opraveno!] Selhání metody Otevřít sešity objektů (4 řešení)

Závěr

Shrneme-li to, na otázku, jak můžeme pomocí VBA otevírat sešity s názvy proměnných, zde odpovídají 4 různé příklady. Makro VBA metoda vyžaduje předchozí související s VBA znalosti, které je třeba pochopit od začátku.

K tomuto problému je k dispozici ke stažení sešit s makry, kde si můžete tyto metody procvičit.

Neváhejte se zeptat na jakékoli otázky nebo zpětnou vazbu prostřednictvím sekce komentářů. Jakýkoli návrh na zlepšení Exceldemy komunita bude vysoce oceňována

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.