ExcelDBA FileDialog

Pri práci môžu existovať scenáre, v ktorých musíme otvoriť niektoré ďalšie zošity alebo iné súbory, aby sme mohli importovať údaje alebo odkázať. Existuje jeden spôsob, ako poskytnúť cestu k súboru v našom kóde vo VBA, ktorá nám otvorí súbor alebo priečinok. Ale čo keď si nepamätáme cestu, ako môžeme súbor otvoriť. Možno budeme musieť najprv vyhľadať cestu a potom ju znova poskytnúť. VBA prichádza s riešením, ktoré je známe ako FileDialog.

FileDialog je vlastnosť vo VBA, ktorá nám umožňuje otvoriť súbor alebo priečinok z cesty. Pri použití tejto vlastnosti nemusí užívateľ zadať cestu k priečinku, ale môže zvoliť cestu. Nielen to má FileDialog celkom štyri vlastnosti. Pre túto vlastnosť sa tiež nazývajú konštanty. Sú to tieto:

  1. msoFileDialogFilePicker : Toto umožňuje užívateľovi vybrať súbor.
  2. msoFileDialogFolderPicker : Toto umožňuje užívateľovi vybrať priečinok.
  3. msoFileDialogOpen : Toto umožňuje užívateľovi otvoriť súbor.
  4. msoFileDialogSaveAs: Toto umožňuje užívateľovi uložiť súbor.

Spôsob použitia tohto objektu vo VBA je nasledujúci.

Application.FIledialog (Filedialog Type)

Typ FileDialog môže byť ktorýkoľvek z vyššie uvedených štyroch typov. Teraz použite tento objekt v príkladoch, aby sme sa jasnejšie dozvedeli o tejto vlastnosti objektu.

Ako používať Excel VBA FileDialog?

Nižšie sú uvedené rôzne príklady použitia FileDialogu v programe Excel pomocou kódu VBA.

Túto šablónu Excel VBA FileDialog si môžete stiahnuť tu - šablónu VBA FileDialog Excel

FileDialog Excel VBA - Príklad č. 1

Najprv nám pomôžte používateľovi vybrať súbor z cieľa. V tomto príklade používateľ vyberie súbor z priečinka a my zobrazíme cestu k vybratému súboru.

Ak chcete použiť aplikáciu Excel VBA FileDialog, postupujte podľa nasledujúcich krokov:

Krok 1: Prejdite na kartu Vývojári a kliknite na položku Visual Basic.

Krok 2: Otvorte modul z ponuky Vložiť, ako je uvedené nižšie.

Krok 3: Spustite podprogram a začnite pracovať na príklade.

kód:

 Sub SelectFile () End Sub 

Krok 4: Vyhláste premennú ako Filedialog, ako je uvedené nižšie.

kód:

 Sub SelectFile () Dim Súbor ako FileDialog End Sub 

Krok 5: Teraz používajme tento objekt z metódy Application.Filedialog nasledovne.

Krok 6: Po otvorení zátvoriek sa zobrazí možnosť pre štyri typy súborov FileDialog, ako je to znázornené na obrázku nižšie.

Krok 7: Vyberte možnosť typu Filedialog ako msoFileDialogFilePicker

kód:

 Sub SelectFile () Dim Súbor ako FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) End Sub 

Krok 8: Teraz potrebujeme vytvoriť dialógové okno pre tento príklad, použijme s príkazom nasledovne.

kód:

 Sub SelectFile () Dim súbor ako FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) s koncom súboru s koncom Sub 

Krok 9: Ak existujú nejaké filtre, musíme vyčistiť filtre, vložiť bodku a napísať príkaz, ako je to znázornené nižšie.

kód:

 Sub SelectFile () Dim súbor ako FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) so súborom .Filters.Clear End With End Sub Sub 

Krok 10: Teraz chceme, aby užívateľ vybral viac súborov naraz alebo jeden súbor? V tomto príklade sa držme jedného súboru naraz, preto použite .Allowmultiselect ako false.

kód:

 Sub SelectFile () Dim súbor ako FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) so súborom .Filters.Clear .AllowMultiSelect = False End With End Sub Sub 

Krok 11: Teraz, aby sme ukázali dialógové okno, môžeme napísať .show, aby sa dialógové okno zobrazilo nasledujúcim spôsobom.

kód:

 Sub SelectFile () Dim Súbor ako FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) so súborom .Filters.Clear .AllowMultiSelect = False. Showhow End with End Sub 

Krok 12: Po vykonaní vyššie uvedeného kódu sa zobrazí nasledujúce dialógové okno.

Krok 13: Pretože musíme zobraziť zvolenú cestu používateľa, v kóde deklarujte inú premennú ako reťazec.

kód:

 Sub SelectFile () Dim súbor ako FileDialog Dim cesta ako reťazec Set File = Application.FileDialog (msoFileDialogFilePicker) so súborom .Filters.Clear .AllowMultiSelect = False .Zobraziť koniec s End Sub 

Krok 14: Použijeme príkaz selecteditems na nájdenie cesty pre vybratého používateľa súboru a uložíme ho do našej premennej nasledujúcim spôsobom.

kód:

 Sub SelectFile () Dim súbor ako FileDialog Dim cesta ako reťazec Set File = Application.FileDialog (msoFileDialogFilePicker) so súborom .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End with End Sub Sub 

Krok 15: Po výpise pomocou funkcie msgbox zobrazte adresu vybraného súboru.

kód:

 Sub SelectFile () Dim súbor ako FileDialog Dim cesta ako reťazec Set File = Application.FileDialog (msoFileDialogFilePicker) so súborom .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End with MsgBox Path End Sub Sub 

Krok 16: Spustime vyššie uvedený kód a vyberte súbor a stlačením tlačidla Ok zobrazíte cestu nasledujúcim spôsobom.

FileDialog Excel VBA - Príklad č. 2

Teraz sa pozrime na ďalšiu možnosť objektu VBA FileDialog, ktorým je msoFileDialogSaveAs. Táto vlastnosť sa používa na uloženie súboru na ľubovoľnú cestu. Pri použití programu Excel VBA FileDialog postupujte podľa nasledujúcich krokov.

Krok 1: V tom istom module napíšeme ďalšiu čiastkovú procedúru na uloženie súboru nasledujúcim spôsobom.

kód:

 Sub SaveFile () End Sub 

Krok 2: Teraz deklarujte dve premenné jednu ako reťazec, zatiaľ čo druhú ako celé číslo.

kód:

 Sub SaveFile () Dim Voľba ako celé číslo, cesta ako koniec reťazca Sub 

Krok 3: Teraz zobrazme dialógové okno pre používateľa pomocou vlastnosti show nasledujúcim spôsobom.

kód:

 Sub SaveFile () Dim Dim Choice As Integer, Cesta As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Zobraziť End Sub 

Krok 4: Teraz pomocou príkazu IF určte výber používateľa nasledujúcim spôsobom.

kód:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Zobraziť, ak je voľba 0, potom End Sub 

Krok 5: Teraz získajme cestu vybranú používateľom do našej premennej cesty nasledujúcim spôsobom.

kód:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Zobraziť, ak je voľba 0 Then Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) End Sub 

Krok 6: Teraz zobrazme výsledok pomocou funkcie msgbox a ukončíme slučku IF Loop.

kód:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Zobraziť, ak je voľba 0, potom Path = Application.FileDialog (msoFileDialogSaveAs). 

Krok 7: Teraz vykonajte vyššie uvedený kód a pozrite sa na výsledok, otvorí sa dialógové okno na uloženie súboru.

Krok 8: Pomenujte názov súboru a stlačte Uložiť, čím získate cestu k súboru nasledovne.

Čo je potrebné pamätať

  • FileDialog je vlastnosť objektu VBA.
  • Pomocou tohto objektu nemusíme špecifikovať cestu k kódu.
  • Pomocou bodového operátora môžeme vidieť a používať vlastnosti objektu IntelliSense.

Odporúčané články

Toto je sprievodca súborom VBA FileDialog. Tu diskutujeme o tom, ako používať objekt FileDialog v Exceli pomocou kódu VBA spolu s niekoľkými praktickými príkladmi a stiahnuteľnou šablónou Excel. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Skontrolujte súbor VBA
  2. Riešenie rovnice v Exceli
  3. Vymazať súbor VBA
  4. Ako tlačiť štítky z Excelu?
  5. Príklady na napísanie kódu VBA

Kategórie: