Obsah
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