VBA vám umožňuje vybrat soubor k otevření pomocí Application.GetOpenFilename metoda. V tomto tutoriálu se naučíte, jak otevřít dialogové okno souboru a nastavit parametry.
Pokud se chcete dozvědět, jak otevřít a zavřít soubor, můžete kliknout na tento odkaz: VBA Otevřít/Zavřít soubor
Otevřete dialogové okno Soubor ve VBA
Chcete -li otevřít soubor ve VBA, musíte nejprve otevřít dialogové okno pro výběr souboru. Zde je kód:
123 | Dim strFile jako řetězecstrFile = Application.GetOpenFilename ( |
Jak vidíte, metoda má několik parametrů. FileFilter umožňuje filtrovat typy souborů, které potřebujete, v našem případě soubory .xlsx.
V Titul parametr, můžete nastavit název dialogového okna. Pokud chcete povolit otevírání více souborů, musíte nastavit MultipleSelect na True. Pokud tento parametr nenastavíte, lze vybrat pouze jeden soubor.
Obrázek 1. Otevřete dialogové okno souboru
Jak vidíte na obrázku 1, zobrazí se dialogové okno s názvem Vyberte soubor aplikace Excel. Filtrovány jsou pouze soubory aplikace Excel a můžeme vybrat více souborů.
Otevřete dialogové okno Soubor v konkrétní složce
Chcete -li otevřít dialogové okno v konkrétní složce, musíte použít tuto metodu .Dialog souboru s parametrem msoFileDialogFilePicker. V příkladu otevřeme ve složce dialogové okno Složka C: \ VBA. Zde je kód:
123456789101112131415161718192021 | Dim fd jako Office.FileDialogDim strFile jako řetězecNastavit fd = Application.FileDialog (msoFileDialogFilePicker)S fd.Filtry. Čisté.Filters.Add "Excel Files", "*.xlsx?", 1.Title = "Vyberte soubor aplikace Excel".AllowMultiSelect = False.InitialFileName = "Složka C: \ VBA"Pokud .Show = True ThenstrFile = .SelectedItems (1)Konec IfKonec s |
Nejprve musíte proměnnou deklarovat fd typ Office.FileDialog a proměnná řetězce pro pořizování souborů:
12 | Dim fd jako Office.FileDialogDim strFile jako řetězec |
Poté musíte nastavit fd na Application.FileDialog (msoFileDialogFilePicker):
1 | Nastavit fd = Application.FileDialog (msoFileDialogFilePicker) |
Nyní, uvnitř S fd Konec s, můžeme nastavit více parametrů:
1234567 | .Filtry. Čisté.Filters.Add "Excel Files", "*.xlsx?", 1.Title = "Vyberte soubor aplikace Excel".AllowMultiSelect = False |
Zde vymažeme filtry souborů (.Filtry. Čisté) a nastavte jej na .xlsx (.Filters.Add “Excel Files”, “*.xlsx?”, 1).
Také můžeme nastavit název dialogového okna: .Title = „Vyberte soubor aplikace Excel“.
Můžeme omezit uživatele na výběr pouze jednoho souboru:.AllowMultiSelect = False
Chcete -li otevřít dialogové okno ve složce, kterou chceme, musíme vložit tento řádek kódu:
1 | .InitialFileName = "Složka C: \ VBA" |
Na konci jen otevřeme dialogové okno se všemi dříve nastavenými parametry:
12345 | Pokud .Show = True ThenstrFile = .SelectedItems (1)Konec If |
Když spustíme tento kód, ve složce se zobrazí dialogové okno pro otevření souboru Složka C: \ VBA:
Obrázek 2. Otevřete dialogové okno souboru v konkrétní složce