VBA võimaldab teil valida avamiseks faili, kasutades Application.GetOpenFilename meetod. Selles õpetuses saate teada, kuidas failidialoogi avada ja parameetreid määrata.
Kui soovite teada, kuidas faili avada ja sulgeda, klõpsake sellel lingil: VBA faili avamine/sulgemine
Avage VBA -s failidialoog
Kui soovite VBA -s faili avada, peate esmalt avama faili valimise dialoogi. Siin on kood:
123 | Dim strFile kui stringstrFile = Application.GetOpenFilename ( |
Nagu näete, on meetodil mitu parameetrit. FileFilter võimaldab teil filtreerida vajalikke failitüüpe, meie puhul .xlsx.
Aastal Pealkiri parameetri abil saate määrata dialoogiboksi pealkirja. Kui soovite lubada mitme faili avamist, peate selle määrama MultipleSelect tõele. Kui te seda parameetrit ei määra, saab valida ainult ühe faili.
Pilt 1. Avage faili dialoog
Nagu näete pildil 1, kuvatakse dialoogiboks pealkirjaga Valige Exceli fail. Filtreeritakse ainult Exceli faile ja saame valida mitu faili.
Avage dialoogiboks Fail konkreetses kaustas
Kui soovite teatud kaustas dialoogiboksi avada, peate seda meetodit kasutama .FileDialog parameetriga msoFileDialogFilePicker. Näites avame kaustas dialoogiboksi C: \ VBA kaust. Siin on kood:
123456789101112131415161718192021 | Dim fd Office.FileDialogDim strFile kui stringMäära fd = Application.FileDialog (msoFileDialogFilePicker)Koos fd -ga.Filtrid. Selge.Filtrid. Lisage "Exceli failid", "*.xlsx?", 1.Title = "Vali Exceli fail".AllowMultiSelect = Vale.InitialFileName = "C: \ VBA kaust"Kui .Näita = Tõsi siisstrFile = .SelectedItems (1)Lõpp KuiLõpeta |
Kõigepealt peate muutuja deklareerima fd tüüpi Office.FileDialog ja stringimuutuja failide võtmiseks:
12 | Dim fd Office.FileDialoginaDim strFile kui string |
Pärast seda peate seadistama fd et Application.FileDialog (msoFileDialogFilePicker):
1 | Määra fd = Application.FileDialog (msoFileDialogFilePicker) |
Nüüd, sees Koos fd End With, saame määrata mitu parameetrit:
1234567 | .Filtrid. Selge.Filtrid. Lisage "Exceli failid", "*.xlsx?", 1.Title = "Vali Exceli fail".AllowMultiSelect = Vale |
Siin kustutame failifiltrid (.Filtrid. Selge) ja määrake see .xlsx (.Filters.Add "Excel Files", "*.xlsx?", 1).
Samuti saame määrata dialoogiboksi pealkirja: .Title = "Vali Exceli fail".
Me saame piirata kasutajat ainult ühe faili valimiseks:.AllowMultiSelect = Vale
Soovitud kausta dialoogiboksi avamiseks peame sisestama selle koodi rea:
1 | .InitialFileName = "C: \ VBA kaust" |
Lõpus avame dialoogiboksi kõigi eelnevalt määratud parameetritega:
12345 | Kui .Näita = Tõsi siisstrFile = .SelectedItems (1)Lõpp Kui |
Selle koodi käivitamisel ilmub kausta faili avamise dialoogiboks C: \ VBA kaust:
Pilt 2. Avage faili dialoog konkreetses kaustas