Použití dialogového okna k otevření a uložení sešitu

Obsah:

Anonim

Už víme, jak otevřít nebo uložit soubor aplikace Excel ve VBA. Jednoduše použijeme metodu Open a SaveAs objektu Sešit. To však vyžaduje pevné kódování cesty k souboru. Většinu času však budete chtít, aby koncový uživatel vybral soubor pomocí grafického uživatelského rozhraní nebo řekněme dialogové okno Otevřít soubor nebo Uložit jako, které uživateli umožní vizuálně a snadno vybrat umístění souboru.

V tomto článku se zabýváme kódem používaným k zobrazení dialogového okna otevřeného sešitu a uložení jako dialogového okna.

Přikládám sešit, který si můžete stáhnout. Sešit připojený k tomuto článku obsahuje tři makra

Kód VBA k otevření souboru pomocí dialogu Otevřít soubor

V tomto kódu použijeme metodu GetOpenFilename aplikace. Syntaxe metody GetOpenFilename je:

Application.GetOpenFilename ([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect])

[FileFilter]: Můžete definovat, aby se ve vybrané složce zobrazoval pouze jeden druh souboru. Pokud napíšete „Soubory aplikace Excel, *.xlsx, *.xls, *.xlsm“ atd., Pak se ze složky v dialogovém okně otevření souboru zobrazí pouze soubory aplikace Excel.

[FilterIndex]:Je to počet filtrů souborů, které chcete použít.

[Titul]: Název dialogového okna.

[ButtonText]:Pro zadání textu tlačítka. Nedůležité.

[Více násobný výběr]: Jedná se o booleovskou proměnnou. Pokud nastavíte True nebo 1, budete moci vybrat více než jeden soubor. Pokud nastavíte hodnotu false, můžete vybrat pouze jeden soubor.

Dost teorie. Pojďme udělat pár kouzel.

Kód VBA k otevření jednoho souboru najednou

Možnost Explicitní Sub OpenOneFile () Dim Název_souboru jako varianta 'Zobrazení dialogového okna otevřeného souboru Název_souboru = Application.GetOpenFilename („Soubory Excel,*. Xls“, _ 1, „Vyberte jeden soubor k otevření“,, Nepravda)' Uživatel ne 't select a file If TypeName (FileName) = "Boolean" Then Exit Sub' Open the workbook workbooks.Open FileName End Sub 

Jak to funguje?

Když spustíte tento segment kódu, metoda GetOpenFilename pro objekt aplikace otevře dialogové okno Otevřít soubor. Název dialogového okna bude „Vybrat jeden soubor k otevření“, jak jsme definovali v kódu. Pokud vyberete soubor, spustí se kód Worbook.Open a soubor se otevře. Pokud nevyberete soubor, dílčí program se ukončí bez spuštění sešitu. Otevřete kód.

Kód VBA k otevření jednoho nebo více souborů najednou

Tento segment kódu otevře dialogové okno pro otevření souboru, ale budete moci vybrat více než jeden soubor najednou.

Sub OpenMultipleFiles () Dim FileName As Variant, f As Integer 'Displaying the open file dialog box FileName = Application.GetOpenFilename ("Excel-files,*. Xlsx", _ 1, "Select One or more Files to Open",, True ) 'Uživatel nevybral soubor If TypeName (FileName) = "Boolean" Then Exit Sub' Otevřete všechny sešity vybrané uživatelem Pro f = 1 Do sešitů UBound (FileName). Otevřít FileName (f) Další f Konec Sub 

Všimněte si, že zde jsme nastavili proměnnou vícenásobného výběru na True. To umožní vícenásobný výběr souboru.

VBA kód otevřete dialogové okno Uložit jako

K otevření dialogového okna Uložit jako použijeme metodu GetSaveAsFilename objektu Application. Syntaxe metody je:

Application.GetSaveAsFilename ([[InitialFileName], [FileFilter], [FilterIndex], [Title], [ButtonText])

[InitialFileName]:Počáteční název souboru. Pokud soubor při ukládání nepřejmenujete, bude váš soubor uložen s tímto názvem.

[FileFilter]: Můžete definovat, aby se ve vybrané složce zobrazoval pouze jeden druh souboru. Pokud napíšete „Soubory aplikace Excel, *.xlsx, *.xls, *.xlsm“ atd., Pak se ze složky v dialogovém okně otevření souboru zobrazí pouze soubory aplikace Excel.

[FilterIndex]: Index filtru souboru.

[Titul]:Název dialogového okna.

[ButtonText]:Toto se používá v systému Mac ke změně názvu tlačítka.

Pro kód prosím postupujte níže

Sub SaveFile () Dim FileName As Variant 'Displaying the saveas dialog box FileName = Application.GetSaveAsFilename ("MyFileName.xls", _ "Excel files,*. Xls", 1, "Select your folder and filename")' User didn ' t uložit soubor If TypeName (FileName) = "Boolean" Then Exit Sub 'Save the workbook ActiveWorkbook.SaveAs FileName End Sub 

Makro SaveFile používá metodu GetSaveAsFilename objektu Application k otevření dialogového okna Uložit jako, přiřazení názvu souboru a výběru umístění pro uložení sešitu.

Takže jo, lidi, takto můžete pomocí dialogového okna otevírat a ukládat soubory pomocí VBA. Doufám, že to bylo užitečné. Máte -li jakékoli pochybnosti týkající se tohoto článku nebo jiného tématu VBA, zeptejte se v sekci komentáře níže.

Použijte uzavřený sešit jako databázi (DAO) pomocí VBA v Microsoft Excelu | Chcete -li použít uzavřený sešit jako databázi s připojením DAO, použijte tento fragment VBA v aplikaci Excel.

Použijte uzavřený sešit jako databázi (ADO) pomocí VBA v Microsoft Excelu | Chcete -li použít uzavřený sešit jako databázi s připojením ADO, použijte tento fragment VBA v aplikaci Excel.

Začínáme s UserForms aplikace Excel VBA | K vkládání dat do databáze používáme formuláře. Excel UserForms jsou užitečné pro získávání informací od uživatele. Zde je návod, jak byste měli začít s uživatelskými formami VBA.

Změňte hodnotu/obsah několika ovládacích prvků UserForm pomocí jazyka VBA v aplikaci Excel | Chcete -li změnit obsah ovládacích prvků uživatelského formuláře, použijte tento jednoduchý úryvek VBA.

Zabraňte zavření formuláře uživatele, když uživatel klikne na tlačítko x pomocí VBA v aplikaci Excel | Aby se zabránilo zavření formuláře uživatele, když uživatel klikne na tlačítko x formuláře, použijeme událost UserForm_QueryClose.

Oblíbené články:

50 zkratek aplikace Excel pro zvýšení produktivity | Získejte rychleji svůj úkol. Těchto 50 klávesových zkratek vám umožní pracovat v Excelu ještě rychleji.

Funkce VLOOKUP v Excelu | Toto je jedna z nejpoužívanějších a nejoblíbenějších funkcí Excelu, která slouží k vyhledávání hodnot z různých rozsahů a listů.

COUNTIF v aplikaci Excel 2016 | Pomocí této úžasné funkce spočítejte hodnoty s podmínkami. K počítání konkrétní hodnoty není nutné filtrovat data. Funkce Countif je nezbytná pro přípravu řídicího panelu.

Jak používat funkci SUMIF v aplikaci Excel | Toto je další základní funkce řídicího panelu. To vám pomůže shrnout hodnoty za konkrétních podmínek