Selles õpetuses saate teada, kuidas kasutada VBA -d Exceli töövihiku avamiseks ja sulgemiseks mitmel viisil.
VBA võimaldab teil avada või sulgeda faile standardmeetodite abil .Avatud ja .Sulge.
Kui soovite teada, kuidas enne faili avamist kontrollida, kas fail on olemas, võite klõpsata sellel lingil: VBA -fail on olemas
Avage töövihik VBA -s
Avage töövihik teelt
Kui teate, millist faili soovite avada, saate funktsioonis määrata selle täieliku tee nime. Siin on kood:
1 | Töövihikud. Avage "C: \ VBA kaust \ Näidisfail 1.xlsx" |
See koodirida avab “VBA kaustast” faili “Näidisfail 1”.
Avage töövihik - ActiveWorkbook
Töövihiku avamisel muutub see automaatselt ActiveWorkbookiks. Saate viidata äsja avatud töövihikule järgmiselt:
1 | ActiveWorkbook.Save |
Kui viitate töölehele või vahemikule ja jätate töövihiku nime välja, eeldab VBA, et viitate ActiveWorkbookile:
1 | Arvutustabelid ("Leht1"). Nimi = "Sisend" |
Avage töövihik ja määrake muutujale
Samuti saate avada töövihiku ja määrata selle otse objekti muutujale. See protseduur avab töövihiku wb muutuja ja salvestage seejärel töövihik.
123456 | Alamtööraamatu alammuutuja ()Dim wb TöövihikunaMäära wb = Töövihikud. Ava ("C: \ VBA kaust \ Näidisfail 1.xlsx")wb. SalvestaEnd Sub |
Töövihikute määramine muutujatele nende avamisel on parim viis töövihikute jälgimiseks
Töövihiku avamise dialoog
Samuti saate käivitada töövihiku avamise dialoogiboksi. See võimaldab kasutajal failile navigeerida ja selle avada:
12345678 | Alamtööraamat ()Dim strFile kui stringstrFile = Application.GetOpenFilename ()Töövihikud. Avatud (strFile)End Sub |
Nagu näete pildil 1, saavad kasutajad selle lähenemisviisi abil valida, millist faili avada. Avatud faili dialoogiboksi saab tugevalt kohandada. Saate vaikimisi valida teatud kausta, valida, millist tüüpi failid on nähtavad (ainult… xlsx) ja palju muud. Üksikasjalike näidete saamiseks lugege meie õpetust avatud faili dialoogiboksis.
Avage uus töövihik
See koodirida avab uue töövihiku:
1 | Töövihikud. Lisa |
Ava muutujale uus töövihik
See protseduur avab uue töövihiku, määrates selle muutujale wb:
1234 | Sub OpenNewWorkbook ()Dim wb TöövihikunaMäära wb = Töövihikud. LisaEnd Sub |
Avage töövihiku süntaks
Töövihikute kasutamisel. Avage, võite märgata, et töövihiku avamisel on saadaval palju valikuid.
Failinimi on kohustuslik. Kõik muud argumendid on valikulised - ja tõenäoliselt ei pea te enamikku teisi argumente teadma. Siin on kaks kõige levinumat:
Avage töövihik kirjutuskaitstud
Kui töövihik on kirjutuskaitstud, ei saa te algfaili salvestada. See hoiab ära faili redigeerimise kasutaja poolt.
1 | Töövihikud.Ava "C: \ VBA Folder \ Sample file 1.xlsx",, True |
Avage parooliga kaitstud töövihik
Töövihik võib olla parooliga kaitstud. Parooliga kaitstud töövihiku avamiseks kasutage seda koodi:
1 | Töövihikud. Avage "C: \ VBA Folder \ Sample file 1.xlsx",,, "password" |
Avage töövihiku süntaksi märkmed
Pange tähele, et ülaltoodud pildil lisasime süntaksi kuvamiseks sulu „(”). Kui kasutate töövihikutega töötamisel sulgusid. Avage, peate töövihiku määrama muutujale:
1234 | Alam OpenWB ()Dim wb TöövihikunaMäära wb = Töövihikud.Open ("C: \ VBA Folder \ Sample file 1.xlsx", True, True)End Sub |
Sulgege töövihik VBA -s
Sulgege konkreetne töövihik
Sarnaselt töövihiku avamisega on faili sulgemiseks mitmeid viise. Kui teate, millise faili soovite sulgeda, võite kasutada järgmist koodi:
1 | Töövihikud.Sulge ("C: \ VBA kaust \ Näidisfail 1.xlsx") |
See koodirida sulgeb faili „Näidisfail 1”, kui see avatakse. Kui ei, tagastab see vea, nii et peaksite hoolitsema vigade käsitlemise eest.
Sulgege aktiivne töövihik
Kui soovite praegu aktiivse töövihiku sulgeda, võimaldab see koodirida seda teha.
1 | ActiveWorkbook.Sulge |
Sulgege kõik avatud töövihikud
Kõigi avatud töövihikute sulgemiseks võite lihtsalt kasutada seda koodi:
1 | Töövihikud. Sule |
Sulgege esmakordselt avatud töövihik
See sulgeb esimese avatud/loodud töövihiku:
1 | Töövihikud (1). Sule |
Teise avatud / loodud töövihiku sulgemiseks asendage 1 2 -ga ja nii edasi.
Sulgege salvestamata
See sulgeb töövihiku salvestamata ja salvestusviipat näitamata.
1 | ActiveWorkbook.Close savechanges: = Vale |
Salvesta ja sulge ilma viipata
Samamoodi salvestab ja sulgeb töövihik ilma salvestusviiba kuvamata:
1 | ActiveWorkbook. Sulge muudatused: = Tõsi |
Märkus. Töövihiku salvestamiseks või mitte salvestamiseks ja viipade näitamiseks on ka mitmeid muid viise. Siin käsitletakse seda üksikasjalikumalt.
Muud avatud töövihiku näited
Avage mitu uut töövihikut
See protseduur avab mitu uut töövihikut, määrates uued töövihikud massiivile:
12345678 | Avatud OpenMultipleNewWorkbooks ()Dim arrWb (3) TöövihikunaDim i As täisarvI = 1 kuni 3Määra arrWb (i) = Töövihikud. LisaEdasi iEnd Sub |
Avage kõik Exceli töövihikud kaustas
See protseduur avab kõik Exceli töövihikud kaustas, kasutades avatud faili dialoogi valijat.
12345678910111213141516 | Avatud OpenMultipleWorkbooksInFolder ()Dim wb TöövihikunaDim dlgFD kui FileDialogDim strFolder stringinaDim strFileName kui stringMäära dlgFD = Application.FileDialog (msoFileDialogFolderPicker)Kui dlgFD.Show = -1 SiisstrFolder = dlgFD.SelectedItems (1) & Application.PathSeparatorstrFileName = Suuna (strFolder & "*.xls*")Tehke strFileName ""Määra wb = Töövihikud. Ava (strFolder & strFileName)strFileName = RežLoopLõpp KuiEnd Sub |
Kontrollige, kas töövihik on avatud
See protseduur kontrollib, kas töövihik on avatud:
1234567891011 | Sub TestByWorkbookName ()Dim wb TöövihikunaIga wb kohta töövihikutesKui wb.Name = "Uus Microsoft Exceli tööleht.xls" SiisMsgBox "Leidsin"Väljuge siin Sub -kõne koodist, praegu väljumeLõpp KuiEdasiEnd Sub |
Töövihik_Avatud sündmus
VBA sündmused on käivitajad, mis käsivad VBA -l teatud koodi käivitada. Saate seadistada töövihiku sündmused avamiseks, sulgemiseks, enne salvestamist, pärast salvestamist ja muuks.
Lugege meie juhendit Workbook_Open Event, et saada lisateavet makrode automaatse käitamise kohta töövihiku avamisel.