VBA vam omogućuje da odaberete datoteku za otvaranje pomoću Application.GetOpenFilename metoda. U ovom ćete vodiču naučiti kako otvoriti dijaloški okvir datoteke i postaviti parametre.
Ako želite naučiti kako otvoriti i zatvoriti datoteku, možete kliknuti na ovu vezu: VBA Otvori/Zatvori datoteku
Otvorite dijaloški okvir datoteke u VBA -i
Ako želite otvoriti datoteku u VBA -u, prvo morate otvoriti dijaloški okvir za odabir datoteke. Evo koda:
123 | Dim strFile As StringstrFile = Application.GetOpenFilename ( |
Kao što vidite, metoda ima nekoliko parametara. FileFilter omogućuje filtriranje vrsta datoteka koje su vam potrebne, u našem slučaju .xlsx datoteke.
U Titula parametar, možete postaviti naslov dijaloškog okvira. Ako želite dopustiti otvaranje više datoteka, morate postaviti Višestruki odabir do Istine. Ako ne postavite ovaj parametar, može se odabrati samo jedna datoteka.
Slika 1. Otvorite dijaloški okvir datoteke
Kao što možete vidjeti na slici 1, pojavljuje se dijaloški okvir s naslovom Odaberite Excel datoteku. Filtriraju se samo Excel datoteke i možemo odabrati više datoteka.
Otvorite dijaloški okvir Datoteka u određenoj mapi
Ako želite otvoriti dijaloški okvir u određenoj mapi, morate koristiti metodu .FileDialog s parametrom msoFileDialogFilePicker. U primjeru ćemo otvoriti dijaloški okvir u mapi C: \ VBA mapa. Evo koda:
123456789101112131415161718192021 | Dim fd Kao Office.FileDialogDim strFile As StringPostavi fd = Application.FileDialog (msoFileDialogFilePicker)S fd -om.Filteri.Očistiti.Filteri.Dodajte "Excel datoteke", "*.xlsx?", 1.Title = "Odaberite Excel datoteku".AllowMultiSelect = Netačno.InitialFileName = "C: \ VBA mapa"Ako je .Show = Istina TadastrFile = .SelectedItems (1)Završi akoZavrši s |
Prvo morate deklarirati varijablu F D tip Ured.FileDialog i niz varijable za preuzimanje datoteka:
12 | Dim fd Kao Office.FileDialogDim strFile As String |
Nakon toga morate postaviti F D do Application.FileDialog (msoFileDialogFilePicker):
1 | Postavi fd = Application.FileDialog (msoFileDialogFilePicker) |
Sada, unutar S fd Završi s, možemo postaviti više parametara:
1234567 | .Filteri.Očistiti.Filteri.Dodajte "Excel datoteke", "*.xlsx?", 1.Title = "Odaberite Excel datoteku".AllowMultiSelect = Netačno |
Ovdje brišemo filtre datoteka (.Filteri.Očistiti) i postavite ga na .xlsx (.Filteri. Dodajte “Excel datoteke”, “*.xlsx?”, 1).
Također, možemo postaviti naslov dijaloškog okvira: .Title = “Odaberite Excel datoteku”.
Korisnika možemo ograničiti na odabir samo jedne datoteke na sljedeći način:.AllowMultiSelect = Netačno
Da bismo otvorili dijaloški okvir u mapi koju želimo, moramo staviti ovaj redak koda:
1 | .InitialFileName = "C: \ VBA mapa" |
Na kraju ćemo samo otvoriti dijaloški okvir sa svim prethodno postavljenim parametrima:
12345 | Ako je .Show = Istina TadastrFile = .SelectedItems (1)Završi ako |
Kada izvršimo ovaj kôd, u mapi se pojavljuje dijaloški okvir za otvaranje datoteke C: \ VBA mapa:
Slika 2. Otvorite dijaloški okvir datoteke u određenoj mapi