VBA vam omogoča, da z datoteko Application.GetOpenFilename metoda. V tej vadnici se boste naučili odpreti pogovorno okno datoteke in nastaviti parametre.
Če želite izvedeti, kako odpreti in zapreti datoteko, lahko kliknete to povezavo: VBA Open/Close File
Odprite pogovorno okno datotek v VBA
Če želite odpreti datoteko v VBA, morate najprej odpreti pogovorno okno za izbiro datoteke. Tukaj je koda:
123 | Zatemni strFile As StringstrFile = Application.GetOpenFilename ( |
Kot lahko vidite, ima metoda več parametrov. FileFilter omogoča filtriranje vrst datotek, ki jih potrebujete, v našem primeru datoteke .xlsx.
V Naslov parameter, lahko nastavite naslov pogovornega okna. Če želite dovoliti odpiranje več datotek, morate nastaviti MultipleSelect do True. Če tega parametra ne nastavite, lahko izberete samo eno datoteko.
Slika 1. Odprite pogovorno okno datoteke
Kot lahko vidite na sliki 1, se prikaže pogovorno okno z naslovom Izberite datoteko Excel. Filtrirane so samo datoteke Excel in lahko izberemo več datotek.
Odprite pogovorno okno datoteke v določeni mapi
Če želite odpreti pogovorno okno v določeni mapi, morate uporabiti metodo .FileDialog s parametrom msoFileDialogFilePicker. V tem primeru bomo v mapi odprli pogovorno okno C: \ VBA mapa. Tukaj je koda:
123456789101112131415161718192021 | Dim fd Kot Office.FileDialogZatemni strFile As StringNastavite fd = Application.FileDialog (msoFileDialogFilePicker)S fd.Filtri.Čisto.Filters.Dodajte "Excel datoteke", "*.xlsx?", 1.Title = "Izberite datoteko Excel".AllowMultiSelect = Napačno.InitialFileName = "Mapa C: \ VBA"Če je .Show = res, potemstrFile = .SelectedItems (1)Konec ČeKončaj s |
Najprej morate razglasiti spremenljivko fd tip Office.FileDialog in spremenljivko niza za sprejemanje datotek:
12 | Dim fd Kot Office.FileDialogZatemni strFile As String |
Po tem morate nastaviti fd do Application.FileDialog (msoFileDialogFilePicker):
1 | Nastavite fd = Application.FileDialog (msoFileDialogFilePicker) |
Zdaj, znotraj S fd Končaj s, lahko nastavimo več parametrov:
1234567 | .Filtri.Čisto.Filters.Dodajte "Excelove datoteke", "*.xlsx?", 1.Title = "Izberite datoteko Excel".AllowMultiSelect = Napačno |
Tu počistimo datotečne filtre (.Filterji.Čisti) in ga nastavite na .xlsx (.Filters.Add “Excel Files”, “*.xlsx?”, 1).
Prav tako lahko nastavimo naslov pogovornega okna: .Title = “Izberite datoteko Excel”.
Uporabnika lahko omejimo na izbiro samo ene datoteke z:.AllowMultiSelect = False
Če želite odpreti pogovorno okno v želeni mapi, moramo vnesti to vrstico kode:
1 | .InitialFileName = "Mapa C: \ VBA" |
Na koncu odpremo pogovorno okno z vsemi predhodno nastavljenimi parametri:
12345 | Če je .Show = res, potemstrFile = .SelectedItems (1)Konec Če |
Ko izvedemo to kodo, se v mapi prikaže pogovorno okno za odpiranje datotek C: \ VBA mapa:
Slika 2. Odprite pogovorno okno datoteke v določeni mapi