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:
- msoFileDialogFilePicker : korisniku omogućuje odabir datoteke.
- msoFileDialogFolderPicker : Omogućuje korisniku da odabere mapu.
- msoFileDialogOpen : korisniku omogućuje otvaranje datoteke.
- 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žakExcel 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 -
- VBA Provjera datoteke postoji
- Riješite jednadžbu u Excelu
- VBA Izbriši datoteku
- Kako ispisati naljepnice iz Excela?
- Primjeri za pisanje VBA koda