VBA FileDialog | Kuidas avada FilesDialog Box VBA-koodi abil?
Exceli VBA FileDialog
VBA-s on fieldialog, mida kasutatakse erinevate eksemplaride esitamiseks, failifailis on neli erinevat konstanditüüpi, mida nimetatakse msofiledialogfilepickeriks, mida kasutatakse faili valimiseks antud teelt, teine on msofiledialogfolderpicker, mille nime valimiseks soovitatakse kasutada kaust ja kolmas on faili avamiseks avatud msofiledialog ja viimane on msofiledialogsaveas, mida kasutatakse faili uue failina salvestamiseks.
On teatud olukordi, kus me tahame andmeid mis tahes muust failist või mõnest muust töölehest ja kuna VBA-d kasutatakse meie töö automatiseerimiseks, saame VBA-ga avada erinevaid muid faile ja seda tehakse Filedialogi abil, mis on selle kasutamise lahe osa meetod on see, et me ei pea koodi sisestama, vaid palume kasutajal faili sirvida.
VBA projekti osana võime nõuda teiste töövihikute avamist ja nendega mingi ülesande täitmist. Oma ühes varasemast artiklist “VBA töövihik. Avatud” oleme näidanud, kuidas avada määratud tee ja konkreetse failiga faile. Seal pidime esitama kausta tee ja failinime koos selle laiendiga. Aga mis siis, kui iga kord, kui kasutaja peab valima erinevatest kaustadest erinevad failid. Siin tuleb pildile valik „FileDialog”.
Kuidas töötab VBA FileDialog Option?
"Kui te ei tea täpset teed, leiab FileDialog faili ja valib selle teile." Tee aadressi ja failinime mainimise asemel võime faili valimiseks arvuti mis tahes kaustast eraldi esitada faili avamise dialoogiakna.
Selle VBA FileDialog Exceli malli saate alla laadida siit - VBA FileDialog Exceli mall“FileDialog” on objekt VBA-s. Selle valiku kasutamiseks peame muutuja määrama FileDialogina.
Kui muutuja on deklareeritud kui “FileDialog”, on see objekti muutuja. Selle kasutamise alustamiseks peame objekti määrama rakenduse Application.FileDialog abil.
Nagu näeme ülaltoodud pildil, on FileDialogil neli võimalust.
- msoFileDialogFilePicker: see valik avab kasutaja ees failivalija akna, et valida soovitud fail vastavalt tema soovile.
- msoFileDialogFolderPicker: see suvand avab kausta valimiseks kasutaja ees dialoogiboksi või akna.
- msoFileDialogOpen: See võimaldab kasutajal avada valitud fail kaustast.
- msoFileDialogSaveAs: see võimaldab kasutajal faili teise koopiana salvestada.
Nüüdseks olen valinud võimaluse msoFileDialogFilePicker.
Nüüd peame kujundama meie ette ilmuva dialoogiboksi.
Funktsiooni With Statement abil saame kujundada dialoogiboksi.
Avalduse koos sisse pane punkt, et näha IntelliSense loendi omaduste ja meetodite FileDialog võimalusi.
Ainult Exceli failide nägemiseks, kui faili dialoogiboks avaneb, peame kõigepealt eemaldama kõik rakendatud filtrid.
Nüüd peame rakendama uue filtri kui Exceli failid Exceli failide metamärgilaiendiga.
Nüüd muudame faili dialoogiboksi pealkirja.
Võime lubada kasutajal valida korraga ainult ühe faili või lubada neil valida ka mitu faili. Selleks peame kasutama valikut „Allow Multi-Select”.
Meil on siin kaks võimalust. Kui on valitud TRUE, võimaldab see kasutajal valida mitu faili, kui see on FALSE, saab kasutaja valida korraga ainult ühe faili.
Teine asi, mida saame FileDialogiga kujundada, on see, et failidialoogi ilmumisel võime tegelikult nõuda, mis peaks olema vaikekaust. Selle kasutamise jaoks on algne failinimi.
Selleks peame mainima vaikekausta, mida avada aadressitee.
Nüüd peame failidialoogi nägemiseks rakendama meetodit „Näita“.
Kood:
Sub DoEvents_Example1 () Dim Myfile FileDialog Set Myfile = Application.FileDialog (msoFileDialogFilePicker) With Myfile .Filters.Clear .Filters.Add "Excel Files", "* .xlsx?", 1 .Title = "Valige oma Exceli fail !! ! " .AllowMultiSelect = Vale .InitialFileName = "D: \ Exceli failid". Näita lõpu lõppu
Nüüd käivitage tulemuse nägemiseks VBA-kood.
Nagu näeme ülaltoodud pildifaili dialoogiboks, on vaikimisi avanud nimetatud kausta.
Nüüd saame valida mis tahes alamkausta ja valida Exceli failid.
Vaadake ülaltoodud pilti, kuna oleme filtri parameetrit rakendanud ainult kui „Exceli failid”.
See valib faili lihtsalt nimetatud kaustast. Kogu tee salvestamiseks peame deklareerima veel ühe muutuja stringina.
Valige avaldisega koos „SelectedItems”. Määrake valitud üksuste kausta tee värskelt määratletud muutujale.
Nüüd kuvage lõpuks valitud kausta tee VBA teatekastis.
Nüüd käivitan programmi, et näha dialoogiboksi.
Nüüd valisin failinimeks “1. Charts.xlsx ”alamkaustas“ Charts ”. Kui klõpsan nuppu OK, näeme sõnumikastis kausta täielikku rada.
Niisiis saame Exceli kaustast failide valimiseks kasutada suvandit FileDialog. Failide valimiseks kasutage koodi allpool.
Kood:
Sub DoEvents_Example1 () Dim Myfile FileDialog Set Myfile = Application.FileDialog (msoFileDialogFilePicker) Dim FileAddress as String With Myfile .Filters.Clear .Filters.Add "Excel Files", "* .xlsx?", 1 .Title = "Valige oma Exceli fail !!! " .AllowMultiSelect = Vale .InitialFileName = "D: \ Exceli failid". Näita FileAddress = .SelectedItems (1) Lõpeb MsgBox FileAddress End Sub