ExcelDBA FileDialog

Při práci mohou existovat některé scénáře, kdy je třeba otevřít některé další sešity nebo jiné soubory, abychom mohli importovat data nebo vzít odkaz. Existuje jeden způsob, jak poskytnout cestu k souboru v našem kódu ve VBA, která nám otevře soubor nebo složku. Ale co když si nepamatujeme cestu, jak můžeme soubor otevřít. Možná budeme muset nejprve prohledat cestu a poté ji znovu poskytnout. VBA přichází s řešením známým jako FileDialog.

FileDialog je vlastnost ve VBA, která nám umožňuje otevřít soubor nebo složku z cesty. Při použití této vlastnosti nemusí uživatel určit cestu ke složce, místo toho si může cestu vybrat. Nejen to má FileDialog celkem čtyři vlastnosti. Pro tuto vlastnost se také nazývají konstanty. Jsou to následující:

  1. msoFileDialogFilePicker : Umožňuje uživateli vybrat soubor.
  2. msoFileDialogFolderPicker : Umožňuje uživateli vybrat složku.
  3. msoFileDialogOpen : To umožňuje uživateli otevřít soubor.
  4. msoFileDialogSaveAs: Umožňuje uživateli uložit soubor.

Metoda použití tohoto objektu ve VBA je následující.

Application.FIledialog (Filedialog Type)

Typ FileDialog může být kterýkoli z výše uvedených čtyř typů. Nyní použijeme tento objekt v příkladech k jasnějšímu seznámení s touto vlastností objektu.

Jak používat Excel VBA FileDialog?

Níže jsou uvedeny různé příklady použití FileDialogu v Excelu pomocí kódu VBA.

Tuto šablonu Excel VBA FileDialog si můžete stáhnout zde - VBA FileDialog Excel Template

FileDialog Excel VBA - Příklad č. 1

Nejprve pomůžeme uživateli vybrat soubor z cíle. V tomto příkladu uživatel vybere soubor ze složky a my zobrazíme cestu pro vybraný soubor.

Chcete-li použít Excel VBA FileDialog, postupujte takto:

Krok 1: Přejděte na kartu Vývojáři a klikněte na Visual Basic.

Krok 2: Otevřete modul z nabídky Vložit, jak je ukázáno níže.

Krok 3: Spusťte podprogram a začněte pracovat na příkladu.

Kód:

 Sub SelectFile () End Sub 

Krok 4: Deklarujte proměnnou jako Filedialog, jak je ukázáno níže.

Kód:

 Sub SelectFile () Dim Soubor jako FileDialog End Sub 

Krok 5: Nyní používáme tento objekt z metody Application.Filedialog následujícím způsobem.

Krok 6: Jakmile otevřeme závorku, můžeme vidět možnost pro čtyři typy FileDialog, jak je znázorněno na obrázku níže.

Krok 7: Vyberte možnost typu Filedialog jako msoFileDialogFilePicker

Kód:

 Sub SelectFile () Dim soubor jako FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) End Sub 

Krok 8: Nyní musíme vytvořit dialogové okno pro tento příklad, použijeme s příkazem následujícím způsobem.

Kód:

 Sub SelectFile () Dim soubor jako FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) s koncem souboru s End Sub 

Krok 9: Pokud existují nějaké filtry, musíme je vyčistit, vložte tečku a napište příkaz, jak je znázorněno níže.

Kód:

 Sub SelectFile () Dim soubor jako FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) se souborem .Filters.Clear End With End Sub 

Krok 10: Nyní chceme, aby uživatel vybral více souborů najednou nebo jeden soubor? Pro tento příklad pojďme držet se jednoho souboru najednou, takže použijte .Allowmultiselect jako false.

Kód:

 Sub SelectFile () Dim soubor jako FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) se souborem .Filters.Clear .AllowMultiSelect = False End With End Sub 

Krok 11: Nyní, abychom ukázali dialogové okno, můžeme napsat .show pro zobrazení dialogového okna následujícím způsobem.

Kód:

 Sub SelectFile () Dim soubor jako FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) se souborem .Filters.Clear .AllowMultiSelect = False. Showhow End with End Sub 

Krok 12: Jakmile spustíme výše uvedený kód, můžeme vidět následující dialogové okno.

Krok 13: Protože musíme zobrazit vybranou cestu uživatele, deklarujte jinou proměnnou jako řetězec v kódu.

Kód:

 Sub SelectFile () Dim soubor jako FileDialog Dim cesta jako řetězec Set File = Application.FileDialog (msoFileDialogFilePicker) se souborem .Filters.Clear .AllowMultiSelect = False .Zobrazit konec s End Sub 

Krok 14: Použijeme příkaz selecteditems k nalezení cesty pro vybraného uživatele souboru a uložíme jej do naší proměnné následujícím způsobem.

Kód:

 Sub SelectFile () Dim soubor jako FileDialog Dim cesta jako řetězec Set File = Application.FileDialog (msoFileDialogFilePicker) se souborem .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End with End Sub Sub 

Krok 15: Po příkazu With použijte funkci msgbox k zobrazení adresy vybraného souboru.

Kód:

 Sub SelectFile () Dim soubor jako FileDialog Dim Cesta jako řetězec Set File = Application.FileDialog (msoFileDialogFilePicker) se souborem .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End with MsgBox Path End Sub Sub 

Krok 16: Spusťte výše uvedený kód a vyberte soubor a stisknutím tlačítka Ok zobrazíte cestu následujícím způsobem.

FileDialog Excel VBA - Příklad č. 2

Nyní se podívejme na další možnost objektu VBA FileDialog, což je msoFileDialogSaveAs. Tato vlastnost se používá k uložení souboru na libovolnou cestu. Chcete-li použít Excel VBA FileDialog, postupujte podle následujících kroků.

Krok 1: Ve stejném modulu napíšeme další dílčí postup pro uložení souboru následujícím způsobem.

Kód:

 Sub SaveFile () End Sub 

Krok 2: Nyní deklarujte dvě proměnné jednu jako řetězec, zatímco druhou jako celé číslo.

Kód:

 Sub SaveFile () Dim Výběr jako celé číslo, cesta jako řetězec End Sub 

Krok 3: Nyní dejte uživateli zviditelnit dialogové okno pomocí vlastnosti show následujícím způsobem.

Kód:

 Sub SaveFile () Dim Dim Choice Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs). Show End Sub Sub 

Krok 4: Nyní pomocí příkazu IF určete volbu uživatele následujícím způsobem.

Kód:

 Sub SaveFile () Dim Výběr jako celé číslo, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Zobrazit, pokud je volba 0, pak End Sub 

Krok 5: Nyní získáme cestu vybranou uživatelem v naší proměnné cesty následujícím způsobem.

Kód:

 Sub SaveFile () Dim volba jako celé číslo, cesta jako volba řetězce = Application.FileDialog (msoFileDialogSaveAs) .Zobrazit, pokud je volba 0 Pak Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) End Sub 

Krok 6: Nyní zobrazme výsledek pomocí funkce msgbox a ukončíme smyčku IF.

Kód:

 Sub SaveFile () Dim volba jako celé číslo, cesta jako volba řetězce = Application.FileDialog (msoFileDialogSaveAs) .Zobrazit, pokud je volba 0 Pak Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) 

Krok 7: Nyní spusťte výše uvedený kód a podívejte se na výsledek, otevře se dialogové okno pro uložení souboru.

Krok 8: Zadejte název souboru a stiskněte Uložit, čímž získáte cestu k souboru následujícím způsobem.

Co si pamatovat

  • FileDialog je vlastnost objektu VBA.
  • Pomocí tohoto objektu nemusíme určovat cestu k kódu.
  • Pomocí tečkového operátoru můžeme vidět a používat vlastnosti IntelliSense objektu.

Doporučené články

Toto je průvodce souborem VBA FileDialog. Zde diskutujeme o tom, jak používat objekt FileDialog v Excelu pomocí kódu VBA spolu s některými praktickými příklady a šablonou Excel ke stažení. Můžete si také prohlédnout naše další doporučené články -

  1. VBA Zkontrolujte soubor existuje
  2. Řešení rovnice v Excelu
  3. Smazat soubor VBA
  4. Jak tisknout štítky z Excelu?
  5. Příklady pro psaní kódu VBA

Kategorie: