Tässä opetusohjelmassa opit käyttämään VBA: ta Excel -työkirjan avaamiseen ja sulkemiseen useilla tavoilla.
VBA: n avulla voit avata tai sulkea tiedostoja vakiomenetelmillä .Avata ja .Kiinni.
Jos haluat oppia tarkistamaan, onko tiedosto olemassa, ennen kuin yrität avata tiedoston, voit napsauttaa tätä linkkiä: VBA -tiedosto on olemassa
Avaa työkirja VBA: ssa
Avaa työkirja polusta
Jos tiedät, minkä tiedoston haluat avata, voit määrittää sen koko polun nimen toiminnossa. Tässä on koodi:
1 | Työkirjat.Avaa "C: \ VBA -kansio \ Esimerkkitiedosto 1.xlsx" |
Tämä koodirivi avaa "Esimerkkitiedosto 1" -tiedoston "VBA -kansiosta".
Avaa työkirja - ActiveWorkbook
Kun avaat työkirjan, siitä tulee automaattisesti ActiveWorkbook. Voit viitata äskettäin avattuun työkirjaan seuraavasti:
1 | ActiveWorkbook.Save |
Kun viittaat taulukkoon tai alueeseen ja jätät työkirjan nimen pois, VBA olettaa, että viittaat ActiveWorkbookiin:
1 | Sheets ("Sheet1"). Name = "Input" |
Avaa työkirja ja määritä muuttujaan
Voit myös avata työkirjan ja määrittää sen suoraan objektimuuttujalle. Tämä toimenpide avaa työkirjan wb muuttuja ja tallenna sitten työkirja.
123456 | Sub OpenWorkbookToVariable ()Dim wb TyökirjanaAseta wb = Työkirjat.Open ("C: \ VBA -kansio \ Esimerkkitiedosto 1.xlsx")wb. tallennaEnd Sub |
Työkirjojen määrittäminen muuttujille, kun ne avautuvat, on paras tapa seurata työkirjoja
Työkirjan avaaminen -valintaikkuna
Voit myös käynnistää työkirjan Avaa tiedosto -valintaikkunan. Tämän avulla käyttäjä voi siirtyä tiedostoon ja avata sen:
12345678 | Osa OpenWorkbook ()Dim strFile merkkijononastrFile = Application.GetOpenFilename ()Työkirjat. Auki (strFile)End Sub |
Kuten kuvassa 1 näkyy, tällä lähestymistavalla käyttäjät voivat valita avattavan tiedoston. Avaa tiedosto -valintaikkuna voidaan muokata voimakkaasti. Voit käyttää oletusarvoisesti tiettyä kansiota, valita, minkä tyyppiset tiedostot ovat näkyvissä (vain… xlsx) ja paljon muuta. Lue opetusohjelmamme Avaa tiedosto -valintaikkunassa saadaksesi yksityiskohtaisia esimerkkejä.
Avaa uusi työkirja
Tämä koodirivi avaa uuden työkirjan:
1 | Työkirjat Lisää |
Avaa uusi työkirja muuttujaan
Tämä toimenpide avaa uuden työkirjan ja määrittää sen muuttujalle wb:
1234 | Sub OpenNewWorkbook ()Dim wb TyökirjanaAseta wb = TyökirjatEnd Sub |
Avaa työkirjan syntaksi
Kun käytät työkirjoja Avaa, saatat huomata, että työkirjaa avattaessa on monia vaihtoehtoja:
Tiedostonimi on pakollinen. Kaikki muut argumentit ovat valinnaisia - eikä sinun todennäköisesti tarvitse tietää useimpia muita argumentteja. Tässä kaksi yleisintä:
Avaa työkirja vain luku -tilassa
Kun työkirja avataan vain luku -tilassa, et voi tallentaa alkuperäisen tiedoston päälle. Tämä estää tiedostoa muokkaamasta käyttäjää.
1 | Työkirjat.Avaa "C: \ VBA Folder \ Sample file 1.xlsx",, True |
Avaa salasanasuojattu työkirja
Työkirja voi olla salasanasuojattu. Avaa salasanalla suojattu työkirja tällä koodilla:
1 | Työkirjat.Avaa "C: \ VBA -kansio \ Esimerkkitiedosto 1.xlsx",,, "salasana" |
Avaa työkirjan syntaksimuistiinpanot
Huomaa, että yllä olevaan kuvaan sisällytimme sulkeet "(") syntaksin näyttämiseksi. Jos käytät sulkeita työskennellessäsi työkirjojen kanssa. Avaa, sinun on määritettävä työkirja muuttujalle:
1234 | Sub OpenWB ()Dim wb TyökirjanaAseta wb = Työkirjat.Open ("C: \ VBA Folder \ Sample file 1.xlsx", True, True)End Sub |
Sulje työkirja VBA: ssa
Sulje tietty työkirja
Työkirjan avaamisen tapaan tiedoston voi sulkea useilla tavoilla. Jos tiedät, minkä tiedoston haluat sulkea, voit käyttää seuraavaa koodia:
1 | Työkirjat.Sulje ("C: \ VBA -kansio \ Esimerkkitiedosto 1.xlsx") |
Tämä koodirivi sulkee tiedoston "Esimerkkitiedosto 1", jos se avataan. Jos ei, se palauttaa virheen, joten sinun on huolehdittava virheiden käsittelystä.
Sulje aktiivinen työkirja
Jos haluat sulkea aktiivisen työkirjan, tämä koodirivi mahdollistaa sen:
1 | ActiveWorkbook.Sulje |
Sulje kaikki avoimet työkirjat
Voit sulkea kaikki avoimet työkirjat käyttämällä tätä koodia:
1 | Työkirjat.Sulje |
Sulje ensimmäisen kerran avattu työkirja
Tämä sulkee ensimmäisen avatun/luodun työkirjan:
1 | Työkirjat (1) Sulje |
Sulje toinen avattu / luotu työkirja ja korvaa 1 toisella.
Sulje tallentamatta
Tämä sulkee työkirjan tallentamatta ja näyttämättä tallennuskehotetta:
1 | ActiveWorkbook.Close savechanges: = False |
Tallenna ja sulje ilman kehotetta
Samoin tämä tallentaa ja sulkee työkirjan näyttämättä tallennuskehotusta:
1 | ActiveWorkbook.Close savechanges: = Totta |
Huomautus: On useita muita tapoja ilmoittaa, tallennetaanko työkirja vai ei ja näytetäänkö kehotteet vai ei. Tästä keskustellaan tarkemmin täällä.
Muut työkirjan avoimet esimerkit
Avaa useita uusia työkirjoja
Tämä menettely avaa useita uusia työkirjoja ja määrittää uudet työkirjat taulukolle:
12345678 | Sub OpenMultipleNewWorkbooks ()Dim arrWb (3) TyökirjanaDim i Kuten kokonaislukuI = 1 - 3Aseta arrWb (i) = Työkirjat.LisääSeuraavaksi minäEnd Sub |
Avaa kaikki Excel -työkirjat kansiossa
Tämä toimenpide avaa kaikki kansion Excel -työkirjat Avaa tiedosto -valintaikkunan valitsimella.
12345678910111213141516 | Sub OpenMultipleWorkbooksInFolder ()Dim wb TyökirjanaDim dlgFD FileDialoginaHimmennä strFolder merkkijononaDim strFileName kuin merkkijonoAseta dlgFD = Application.FileDialog (msoFileDialogFolderPicker)Jos dlgFD.Show = -1 SittenstrFolder = dlgFD.SelectedItems (1) & Application.PathSeparatorstrFileName = Dir (strFolder & "*.xls*")Tee vaikka strFileName ""Aseta wb = Työkirjat. Avaa (strFolder & strFileName)strFileName = OhjSilmukkaLoppu JosEnd Sub |
Tarkista, onko työkirja auki
Tämä menettely testaa, onko työkirja auki:
1234567891011 | AlatestiTyökirjanNimi ()Dim wb TyökirjanaJokaiselle wb: lle työkirjoissaJos wb.Name = "Uusi Microsoft Excel -työarkki.xls" SittenMsgBox "Löysin"Lopeta Sub -kutsukoodi tästä, poistumme vain toistaiseksiLoppu JosSeuraavaEnd Sub |
Työkirja_Avaa tapahtuma
VBA -tapahtumat ovat "liipaisimia", jotka kehottavat VBA: ta suorittamaan tietyn koodin. Voit määrittää työkirjan tapahtumia avaamista, sulkemista, ennen tallentamista, tallennuksen jälkeen ja paljon muuta varten.
Lue Workbook_Open Event -opetusohjelmamme saadaksesi lisätietoja makrojen automaattisesta suorittamisesta, kun työkirja avataan.