VBA FileDialog - Kuidas avada FilesDialog Box VBA-koodi abil?

Lang L: none (table-of-contents)

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 abil avada ka teisi muid faile ja seda tehakse dialoogifaili, laheda osa abil Selle meetodi kasutamine on see, et me ei pea koodi sisestama, vaid palume kasutajal faili sirvida.

VBA projekti raames võime nõuda teiste töövihikute avamist ja nendega mingi ülesande täitmist. Ühes varasemas artiklis "VBA töövihik. Avatud" oleme näidanud, kuidas avada faile, millel on määratud tee ja konkreetne fail. 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 teile faili ja valib selle." Tee aadressi ja failinime mainimise asemel võime faili valimiseks arvuti mis tahes kaustast eraldi esitada faili avamise dialoogiakna.

“FileDialog” on objekt VBA-s. Selle valiku kasutamiseks peame muutuja määratlema failina FileDialog.

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.

Lausega koos sisestage punkt, et näha IntelliSense'i loendi omaduste ja meetodite suvandit FileDialog.

Ainult Exceli failide nägemiseks faili dialoogiboksi avanemisel peame kõigepealt eemaldama kõik rakendatud filtrid.

Nüüd peame rakendama uue filtri Exceli failidena koos 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 käsku „Allow Multi-Select”.

Meil on siin kaks võimalust. Kui valitud on TRUE, võimaldab see kasutajal valida mitu faili. Kui see on nii, saab FALSE kasutaja valida korraga ainult ühe faili.

Teine asi, mida saame FileDialogiga kujundada, on see, et failide dialoogiboksi ilmumisel võime tegelikult nõuda, mis peaks olema vaikekaust. Sel otstarbel Algne faili nimi.

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 pildifailis, avas dialoogiboks vaikimisi 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. Täieliku tee salvestamiseks peame stringina deklareerima veel ühe muutuja.

Nüüd koos avaldisega valige „SelectedItems”. Määrake valitud üksuste kausta tee värskelt määratletud muutujale.

Nüüd lõpuks kuvage 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 allolevat koodi.

Kood:

Sub DoEvents_Example1 () Dim Myfile FileDialog Set Myfile = Application.FileDialog (msoFileDialogFilePicker) Dim FileAddress String With Myfile .Filters.Clear .Filters.Add "Excel Files", "* .xlsx?", 1 .Title = "Valige Exceli fail !!! " .AllowMultiSelect = Vale .InitialFileName = "D: Exceli failid". Näita FileAddress = .SelectedItems (1) Lõpeb MsgBox FileAddress End Sub

Huvitavad Artiklid...