Excel VBA FileDialog

Tijekom rada mogu postojati neki scenariji u kojima moramo otvoriti neke druge radne knjižice ili bilo koje druge datoteke ili za uvoz podataka ili za referencu. Postoji jedna metoda da se u našem kodu u VBA osigura staza do datoteke koja će otvoriti datoteku ili mapu za nas. Ali što ako se ne sjećamo puta kako možemo otvoriti datoteku. Možda ćemo prvo morati pretražiti put, a zatim ponovno pružiti put. VBA dolazi s rješenjem koje je poznato kao FileDialog.

FileDialog je entitet u VBA koji nam omogućava otvaranje datoteke ili mape s puta. Korištenjem ovog svojstva korisnik ne mora navesti put mape, a umjesto toga korisnik može odabrati put. FileDialog, ne samo to, ima ukupno četiri svojstva. Također su poznate i kao konstante ovog imanja. Oni su kako slijedi:

  1. msoFileDialogFilePicker : korisniku omogućuje odabir datoteke.
  2. msoFileDialogFolderPicker : Omogućuje korisniku da odabere mapu.
  3. msoFileDialogOpen : korisniku omogućuje otvaranje datoteke.
  4. msoFileDialogSaveAs: To korisniku omogućuje spremanje datoteke.

Metoda korištenja ovog objekta u VBA je sljedeća.

Application.FIledialog (Filedialog Type)

FileDialog tip može biti bilo koji od gore navedene četiri vrste. Sada ćemo koristiti ovaj objekt u primjerima da jasnije saznamo o ovom svojstvu objekta.

Kako se koristi Excel VBA FileDialog?

Ispod su sljedeći primjeri za korištenje FileDialog u Excelu pomoću VBA koda.

Možete preuzeti ovaj VBA FileDialog Excel predložak ovdje - VBA FileDialog Excel predložak

Excel VBA FileDialog - Primjer br. 1

Prvo, pomozimo korisniku da odabere datoteku s odredišta. U ovom primjeru korisnik će odabrati datoteku iz mape, a mi ćemo prikazati put za odabranu datoteku.

Slijedite dolje navedene korake za korištenje excel VBA FileDialog:

Korak 1: Idite na karticu Developers i kliknite na Visual Basic.

Korak 2: Otvorite modul iz opcije Umetanje kao što je prikazano u nastavku.

Korak 3: Pokrenite potprocesuru za početak rada na primjeru.

Kodirati:

 Sub SelectFile () Završetak Sub 

Korak 4: Deklarirajte varijablu kao Filedialog kao što je prikazano u nastavku.

Kodirati:

 Sub SelectFile () Dim datoteka kao FileDialog End Sub 

Korak 5: Sada koristimo ovaj objekt iz metode Application.Filedialog na sljedeći način.

Korak 6: Jednom kada otvorimo zagrade, možemo vidjeti opciju za četiri vrste FileDialog kao što je prikazano na slici ispod.

Korak 7: Odaberite opciju Filedialog kao msoFileDialogFilePicker

Kodirati:

 Pod SelectFile () Dim datoteka kao FileDialog Postavi datoteku = Application.FileDialog (msoFileDialogFilePicker) Kraj Sub 

Korak 8: Sada moramo napraviti dijaloški okvir za ovaj primjer, a koristimo se sa Izjava na sljedeći način.

Kodirati:

 Pod SelectFile () Dim datoteka kao FileDialog Postavi datoteku = Application.FileDialog (msoFileDialogFilePicker) s završetkom datoteke s Kraj Sub 

Korak 9: Ako postoje neki filtri koje trebamo očistiti filtre, staviti izjavu od točke i napisati izjavu kao što je prikazano u nastavku.

Kodirati:

 Pod SelectFile () Dim datoteka kao FileDialog Postavi datoteku = Application.FileDialog (msoFileDialogFilePicker) s datotekom .Filters.Clear End sa završetkom Sub 

Korak 10: Želimo li korisnik odabrati više datoteka odjednom ili jednu datoteku? Za ovaj primjer, držimo se pojedinačne datoteke u isto vrijeme, zato upotrijebite .Allowmultiselect kao lažnu.

Kodirati:

 Pod SelectFile () Dim datoteka kao FileDialog Postavi datoteku = Application.FileDialog (msoFileDialogFilePicker) s datotekom .Filters.Clear .AllowMultiSelect = False End with End Sub 

11. korak: Sada da bismo prikazali dijaloški okvir koji možemo napisati. Pokazati kako se dijaloški okvir prikazuje na sljedeći način.

Kodirati:

 Pod SelectFile () Dim datoteka kao FileDialog Postavi datoteku = Application.FileDialog (msoFileDialogFilePicker) s datotekom .Filters.Clear .AllowMultiSelect = False. Pokaži kraj s krajem Sub 

12. korak: Jednom kada izvršimo gornji kôd, vidimo dijaloški okvir kako slijedi.

Korak 13: Budući da trebamo prikazati odabranu korisničku stazu, deklariramo drugu varijablu kao niz u kodu.

Kodirati:

 Pod SelectFile () Dim datoteka kao FileDialog Dim putanja kao niz stringova File = Application.FileDialog (msoFileDialogFilePicker) s datotekom .Filters.Clear .AllowMultiSelect = False. Pokaži kraj s krajem Sub 

14. korak: Koristit ćemo odabranu izjavuititems da pronađemo put za odabranog korisnika datoteke i pohranimo je u našu varijablu kako slijedi.

Kodirati:

 Pod SelectFile () Dim datoteka kao FileDialog Dim Path as string Set File = Application.FileDialog (msoFileDialogFilePicker) s datotekom .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End with End Sub 

Korak 15: Nakon With Statement-a, koristite funkciju msgbox za prikaz adrese odabrane datoteke.

Kodirati:

 Poddatoteka File () Dim datoteka kao FileDialog Dim putanja kao niz stringova datoteka = Application.FileDialog (msoFileDialogFilePicker) s datotekom .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) Završi MsgBox Path End Sub 

Korak 16: Izvršimo gornji kôd i odaberemo datoteku i pritisnite ok da biste vidjeli put na sljedeći način.

Excel VBA FileDialog - primjer br. 2

Sada ćemo vidjeti drugu opciju VBA FileDialog objekta, a to je msoFileDialogSaveAs. Ovo svojstvo koristi se za spremanje datoteke na bilo koji put. Slijedite dolje navedene korake za korištenje excel VBA FileDialog.

Korak 1: U isti modul napišemo još jedan podpostupak za spremanje datoteke na sljedeći način.

Kodirati:

 Sub SaveFile () Kraj sub 

Korak 2: Sada proglasite dvije varijable jedna kao niz, a druga kao cijeli broj.

Kodirati:

 Sub SaveFile () Dim Choice As Integer, Path As String End Sub 

Korak 3: Sada učinimo dijaloški okvir vidljivim korisniku pomoću prikaza svojstva na sljedeći način.

Kodirati:

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

Korak 4: Sada pomoću IF iskaza odredite izbor korisnika na sljedeći način.

Kodirati:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Aplikacija.FileDialog (msoFileDialogSaveAs). Pokaži ako je izbor 0, a zatim Kraj Sub 

Korak 5: Sada ćemo odabrati put koji je korisnik odabrao u našoj varijabli puta kako slijedi.

Kodirati:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Aplikacija.FileDialog (msoFileDialogSaveAs). Pokaži ako je izbor 0 onda Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) End Sub 

Korak 6: Sada ćemo prikazati rezultat pomoću msgbox funkcije i završiti IF petljom.

Kodirati:

 Sub SaveFile () Dim Choice Kao cijeli broj, Path As String Choice = Aplikacija.FileDialog (msoFileDialogSaveAs). Pokaži ako je izbor 0 onda Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) MsgBox Path End If End Sub 

Korak 7: Sada izvršite gornji kôd i pogledajte rezultat, otvorit će se dijaloški okvir za spremanje datoteke.

Korak 8: Navedite naziv datoteke i pritisnite Spremi. Dat će nam put za datoteku na sljedeći način.

Stvari koje treba zapamtiti

  • FileDialog je objektno svojstvo VBA.
  • Ne trebamo odrediti put do koda pomoću ovog objekta.
  • Pomoću operatora točaka možemo vidjeti i koristiti IntelliSense svojstva objekta.

Preporučeni članci

Ovo je vodič za VBA FileDialog. Ovdje smo raspravljali o tome kako koristiti datoteku FileDialog u Excelu pomoću VBA koda zajedno s nekoliko praktičnih primjera i preuzeti Excel predložak. Možete i pregledati naše druge predložene članke -

  1. VBA Provjera datoteke postoji
  2. Riješite jednadžbu u Excelu
  3. VBA Izbriši datoteku
  4. Kako ispisati naljepnice iz Excela?
  5. Primjeri za pisanje VBA koda

Kategorija: