Dialoogiboksi kasutamine töövihiku avamiseks ja salvestamiseks

Lang L: none (table-of-contents):

Anonim

Me juba teame, kuidas VBA -s Exceli faili avada või salvestada. Me lihtsalt kasutame töövihiku objekti Open and SaveAs meetodit. Kuid see nõuab faili tee kõva kodeerimist. Kuid enamasti soovite, et lõppkasutaja valiks GUI abil faili või ütleks dialoogiboksi Fail Ava või Salvesta nimega, mis võimaldab kasutajal visuaalselt ja hõlpsalt faili asukohta valida.

Selles artiklis käsitleme koodi, mida kasutati töövihiku avamise dialoogiboksi kuvamiseks ja salvestamiseks dialoogiboksina.

Lisasin töövihiku, mille saate alla laadida. Sellele artiklile lisatud töövihik sisaldab kolme makrot

VBA -kood faili avamiseks avatud faili dialoogi abil

Selles koodis kasutame rakenduse meetodit GetOpenFilename. Meetodi GetOpenFilename süntaks on järgmine:

Application.GetOpenFilename ([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect])

[FileFilter]: Saate määrata, et valitud kaustas kuvatakse ainult ühte tüüpi faile. Kui kirjutate "Excel-Files, *.xlsx, *.xls, *.xlsm" jne, kuvatakse faili avamise dialoogiboksi kaustast ainult Exceli failid.

[FilterIndex]:See on failifiltrite arv, mida soovite kasutada.

[Pealkiri]: Dialoogiboksi pealkiri.

[ButtonText]:Nupu teksti määramiseks. Ebaoluline.

[MultiSelect]: See on Boole'i ​​muutuja. Kui määrate selle väärtuseks Tõene või 1, saate valida mitu faili. Kui määrate selle väärtuseks vale, saate valida ainult ühe faili.

Aitab teooriast. Teeme mõned loitsud.

VBA -kood ühe faili avamiseks korraga

Valik Selgesõnaline sub OpenOneFile () Dim FileName Variant 'Avatud faili dialoogiboksi kuvamine FileName = Application.GetOpenFilename ("Excel-failid,*. Xls", _ 1, "Vali üks avatav fail",, vale)' Kasutaja ei 't vali faili If TypeName (FileName) = "Boolean" then Exit Sub' Ava töövihiku töövihikud. Ava FileName End Sub 

Kuidas see töötab?

Selle koodi segmendi käivitamisel avab rakenduse objekti GetOpenFilename meetod avatud faili dialoogiboksi. Dialoogiboksi pealkiri on "Valige üks avatav fail", nagu me koodis määratlesime. Kui valite faili, siis töövihik. Avatud kood käivitatakse ja fail avatakse. Kui te faili ei vali, lahkub alamprogramm ilma töövihikut käivitamata. Ava kood.

VBA -kood ühe või mitme faili korraga avamiseks

See koodilõik avab faili avamise dialoogiboksi, kuid saate korraga valida mitu faili.

Sub OpenMultipleFiles () Dim FileName Variant, f As Integer 'Avatud faili dialoogiboksi kuvamine FileName = Application.GetOpenFilename ("Excel-failid,*. Xlsx", _ 1, "Valige üks või mitu avatavat faili", Tõsi ) 'Kasutaja ei valinud faili If TypeName (FileName) = "Boolean" then Exit Sub' Avage kõik kasutaja valitud töövihikud For f = 1 To UBound (FileName) Workbooks.Open FileName (f) Next f End Sub 

Pange tähele, et siin oleme määranud mitme valiku muutuja väärtuseks Tõene. See võimaldab faili mitu korda valida.

Dialoogiboksi Salvesta nimega avamiseks VBA kood

Dialoogiboksi Salvesta kui avamiseks kasutame rakenduse objekti meetodit GetSaveAsFilename. Meetodi süntaks on järgmine:

Application.GetSaveAsFilename ([InitialFileName], [FileFilter], [FilterIndex], [Title], [ButtonText])

[InitialFileName]:Esialgne faili nimi. Kui te faili salvestamise ajal ümber ei nimeta, salvestatakse fail selle nimega.

[FileFilter]: Saate määrata, et valitud kaustas kuvatakse ainult ühte tüüpi faile. Kui kirjutate "Excel-Files, *.xlsx, *.xls, *.xlsm" jne, kuvatakse faili avamise dialoogiboksi kaustast ainult Exceli failid.

[FilterIndex]: Faili filterindeks.

[Pealkiri]:Dialoogiboksi pealkiri.

[ButtonText]:Seda kasutatakse Maci süsteemis nupu nime muutmiseks.

Palun järgige koodi allpool

Sub SaveFile () Dim FileName Variant 'Dialoogiboksi saveas kuvamine FileName = Application.GetSaveAsFilename ("MyFileName.xls", _ "Exceli failid,*. Xls", 1, "Valige oma kaust ja failinimi")' Kasutaja ei teinud ' t salvesta fail If TypeName (FileName) = "Boolean" Exit Sub 'Salvesta töövihik ActiveWorkbook.SaveAs FileName End Sub 

Salvestusfaili makro kasutab dialoogiboksi Salvesta avamiseks rakenduse objekti meetodit GetSaveAsFilename, määrab failinime ja valib töövihiku salvestamise koha.

Nii et jah, poisid, nii saate dialoogiboksi abil failide avamiseks ja salvestamiseks kasutada VBA -d. Loodan, et sellest oli abi. Kui teil on selle artikli või mõne muu VBA teema osas kahtlusi, küsige allpool kommentaaride jaotises.

Kasutage suletud töövihikut andmebaasina (DAO), kasutades Microsoft Excelis VBA -d | Suletud töövihiku kasutamiseks DAO -ühendusega andmebaasina kasutage seda VBA -katkendit Excelis.

Kasutage suletud töövihikut andmebaasina (ADO), kasutades Microsoft Excelis VBA -d | Suletud töövihiku kasutamiseks ADO -ühendusega andmebaasina kasutage seda VBA -katkendit Excelis.

Excel VBA UserFormsiga alustamine | Andmete sisestamiseks andmebaasi kasutame vorme. Exceli kasutajavormid on kasulikud kasutajalt teabe saamiseks. Siin on, kuidas peaksite alustama VBA kasutajavormidega.

Muutke Exceli VBA abil mitme UserForm-juhtelemendi väärtust/sisu | Kasutajavormi juhtelementide sisu muutmiseks kasutage seda lihtsat VBA -katkendit.

Vältige kasutajaliigi sulgemist, kui kasutaja klõpsab x-nupul, kasutades Excelis VBA-d | Kasutajavormi sulgemiseks, kui kasutaja klõpsab vormi x nupul, kasutame sündmust UserForm_QueryClose.

Populaarsed artiklid:

50 Exceli otseteed tootlikkuse suurendamiseks | Saa oma ülesandega kiiremini hakkama. Need 50 otseteed aitavad teil Excelis veelgi kiiremini töötada.

Funktsioon VLOOKUP Excelis | See on üks enim kasutatud ja populaarsemaid Exceli funktsioone, mida kasutatakse erinevate vahemike ja lehtede väärtuse otsimiseks.

COUNTIF Excelis 2016 | Loendage väärtused tingimustega, kasutades seda hämmastavat funktsiooni. Te ei pea konkreetse väärtuse loendamiseks oma andmeid filtreerima. Countif funktsioon on armatuurlaua ettevalmistamisel hädavajalik.

Funktsiooni SUMIF kasutamine Excelis | See on veel üks armatuurlaua oluline funktsioon. See aitab teil teatud tingimustel väärtusi kokku võtta