VBA leidžia pasirinkti failą, kurį norite atidaryti naudodami Application.GetOpenFilename metodas. Šioje pamokoje sužinosite, kaip atidaryti failo dialogo langą ir nustatyti parametrus.
Jei norite sužinoti, kaip atidaryti ir uždaryti failą, galite spustelėti šią nuorodą: VBA atidaryti/uždaryti failą
VBA atidarykite failų dialogą
Jei norite atidaryti failą VBA, pirmiausia turite atidaryti failo pasirinkimo dialogo langą. Čia yra kodas:
123 | Dim strFile As StringstrFile = Application.GetOpenFilename ( |
Kaip matote, metodas turi keletą parametrų. FileFilter leidžia filtruoti reikiamus failų tipus, mūsų atveju .xlsx failus.
Viduje konors Pavadinimas parametrą, galite nustatyti dialogo lango pavadinimą. Jei norite leisti atidaryti kelis failus, turite nustatyti MultipleSelect į Tiesa. Jei nenustatysite šio parametro, galite pasirinkti tik vieną failą.
Vaizdas 1. Atidarykite failo dialogo langą
Kaip matote 1 paveikslėlyje, pasirodo dialogo langas su pavadinimu Pasirinkite „Excel“ failą. Filtruojami tik „Excel“ failai ir galime pasirinkti kelis failus.
Atidarykite failo dialogo langą konkrečiame aplanke
Jei norite atidaryti dialogo langą konkrečiame aplanke, turite naudoti šį metodą .FileDialog su parametru msoFileDialogFilePicker. Pavyzdyje aplanke atidarysime dialogo langą C: \ VBA aplankas. Čia yra kodas:
123456789101112131415161718192021 | Dim fd Kaip Office.FileDialogDim strFile As StringNustatykite fd = Application.FileDialog (msoFileDialogFilePicker)Su fd.Filtrai.Aišku.Filtrai. Pridėkite „Excel“ failus “,„*.xlsx? “, 1.Title = "Pasirinkite" Excel "failą".AllowMultiSelect = Netiesa.InitialFileName = "C: \ VBA aplankas"Jei .Rodyti = Tiesa tadastrFile = .SelectedItems (1)Pabaiga JeiPabaiga su |
Pirmiausia turite deklaruoti kintamąjį fd tipo Office.FileDialog ir eilutės kintamasis, skirtas rinkti failus:
12 | Dim fd Kaip Office.FileDialogDim strFile As String |
Po to turite nustatyti fd į Application.FileDialog (msoFileDialogFilePicker):
1 | Nustatykite fd = Application.FileDialog (msoFileDialogFilePicker) |
Dabar, viduje Su fd pabaiga, galime nustatyti kelis parametrus:
1234567 | .Filtrai.Aišku.Filtrai. Pridėkite „Excel“ failus “,„*.xlsx? “, 1.Title = "Pasirinkite" Excel "failą".AllowMultiSelect = Netiesa |
Čia išvalome failų filtrus (.Filtrai.Aišku) ir nustatykite jį į .xlsx (.Filters.Add “Excel Files”, “*.xlsx?”, 1).
Taip pat galime nustatyti dialogo lango pavadinimą: .Title = „Pasirinkite„ Excel “failą“.
Mes galime apriboti vartotoją pasirinkti tik vieną failą:.AllowMultiSelect = Netiesa
Norėdami atidaryti dialogo langą norimame aplanke, turime įdėti šią kodo eilutę:
1 | .InitialFileName = "C: \ VBA aplankas" |
Pabaigoje mes tiesiog atidarysime dialogo langą su visais anksčiau nustatytais parametrais:
12345 | Jei .Rodyti = Tiesa tadastrFile = .SelectedItems (1)Pabaiga Jei |
Kai vykdome šį kodą, aplanke rodomas failo atidarymo dialogo langas C: \ VBA aplankas:
Vaizdas 2. Atidarykite failo dialogo langą konkrečiame aplanke