See juhend tutvustab teile seadmega töötamist Töövihiku objekt VBA -s.
Töövihiku objekt
Esiteks peate VBA töövihikutega suhtlemiseks mõistma Töövihiku objekt.
Töövihikuobjektiga saate viidata töövihikutele nende nime järgi järgmiselt:
1 | Töövihikud ("Book2.xlsm"). Aktiveeri |
See kood töötab aga ainult siis, kui töövihik on avatud. Kui töövihik on suletud, peate esitama kogu töövihiku tee:
1 | Töövihikud.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm") |
Kui teie soovitud töövihik asub samas kataloogis töövihikuga, kuhu teie kood on salvestatud, võite täieliku tee väljakirjutamise asemel töövihiku avamiseks kasutada järgmist reakoodi:
1 | Töövihikud. Ava (ThisWorkbook.Path & "\ book2.xlsm") |
See kasutab objekti ThisWorkbook, mida käsitleme järgmises osas.
Töövihiku registrinumber
Lõpuks saate töövihikutele viidata nende indeksnumbri järgi. Töövihiku registrinumber vastab töövihiku avamise järjekorrale (tehniliselt selle töövihiku asukoht töövihikute kogumis).
1 | Töövihikud (1). Aktiveeri |
See on kasulik, kui soovite teha näiteks esimese (või viimase) avatud töövihiku sulgemise.
Aktiveerige töövihik, ActiveWorkbook ja ThisWorkbook
Kui töövihik on EI AKTIIVNE, pääsete juurde töövihiku objektidele järgmiselt:
1 | Töövihikud ("Book2.xlsm"). Arvutustabelid ("Sheet1"). Vahemik ("A1"). Väärtus = 1 |
Kui aga töövihik on aktiivne, võite töövihiku objekti välja jätta:
1 | Arvutustabelid ("leht 1"). Vahemik ("A1"). Väärtus = 1 |
Ja kui soovite suhelda töövihiku aktiivse lehega, saate lehtede objekti ka tühistada:
1 | Vahemik ("A1"). Väärtus = 1 |
Töövihiku aktiveerimine
Töövihiku aktiveerimiseks kasutage Aktiveeri meetod.
1 | Töövihikud ("Book2.xlsm"). Aktiveeri |
Nüüd saate Book2 objektiga suhelda ilma töövihiku nime selgesõnaliselt nimetamata.
ActiveWorkbook
The ActiveWorkbook objekt viitab alati aktiivsele töövihikule. See on kasulik, kui soovite määrata ActiveWorkbooki muutujale, et seda hiljem kasutada.
12 | Dim wb TöövihikunaMäära wb = ActiveWorkbook |
See tööraamat
The See tööraamat objekt viitab alati töövihikule, kuhu jooksev kood on salvestatud. Selle töövihiku aktiveerimiseks kasutage järgmist koodirida:
1 | See töövihik. Aktiveeri |
Avage töövihik
Töövihiku avamiseks kasutage Avatud meetod:
1 | Töövihikud.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm") |
Äsja avatud töövihikust saab alati ActiveWorkbook, mis võimaldab teil sellega hõlpsalt suhelda.
1 | ActiveWorkbook.Save |
Avatud meetodil on mitmeid muid argumente, mis võimaldavad teil avada kirjutuskaitstud, avada parooliga kaitstud töövihiku ja palju muud. Seda käsitletakse siin meie artiklis töövihikute avamise / sulgemise kohta.
Avage ja määrake muutujale
Samuti saate avada töövihiku ja määrata selle muutujale samal ajal.
12 | Dim wb TöövihikunaMäära wb = Töövihikud. Ava ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm") |
Avage failidialoog
Samuti saate käivitada avatud faili dialoogiboksi järgmiselt.
12345678 | Alamtööraamat ()Dim strFile kui stringstrFile = Application.GetOpenFilename ()Töövihikud. Avatud (strFile)End Sub |
Loo uus (lisa) töövihik
See koodirida loob uue töövihiku:
1 | Töövihikud. Lisa |
Uus töövihik muutub nüüd ActiveWorkbook, mis võimaldab teil sellega suhelda (nt uue töövihiku salvestamine).
Lisage muutujale uus töövihik
Samuti saate uue töövihiku otse muutujale lisada.
12 | Dim wb TöövihikunaMäära wb = Töövihikud. Lisa |
Sulgege töövihik
Sulge ja salvesta
Töövihiku salvestamiseks sulgemiseks kasutage Sule meetod koos Salvesta muudatused seadistatud väärtusele TRUE:
1 | ActiveWorkbook.Sulge SaveChanges: = Tõsi |
Sulge ilma salvestamiseta
Salvestamata salvestamiseks sulgege Salvesta muudatused võrdne valega:
1 | ActiveWorkbook.Close SaveChanges: = Vale |
Töövihik Salvesta nimega
The SaveAs meetod kasutatakse töövihiku salvestamiseks nimega.
Uue nimega töövihiku salvestamiseks samasse kataloogi saate kasutada järgmist:
1 | ActiveWorkbook.SaveAs "new" |
kus "uus" on uue faili nimi.
Töövihiku salvestamiseks uude kataloogi koos konkreetse faililaiendiga määrake lihtsalt uus kataloog ja faili nimi:
1 | ActiveWorkbook.SaveAs "C: \ Users \ StevePC2 \ Downloads \ new.xlsm" |
Muud töövihiku VBA näited
Töövihiku nimi
Töövihiku nime saamiseks tehke järgmist.
1 | MsgBox ActiveWorkbook.Name |
Kaitske töövihikut
Töövihiku struktuuri muutmise eest kaitsmiseks võite kasutada Kaitsemeetod (parool pole kohustuslik):
1 | Töövihikud ("book1.xlsm"). Kaitske parooli |
Töövihiku kaitsest vabastamiseks kasutage Kaitse eemaldamise meetod:
1 | Töövihikud ("book1.xlsm"). Tühistage "parooli" kaitse |
Sirvige kõiki avatud töövihikuid
Kõigi avatud töövihikute sirvimiseks tehke järgmist.
123456789 | Sub LoopThroughWBs ()Dim wb TöövihikunaIga wb kohta töövihikutesMsgBox wb. NimiJärgmine wbEnd Sub |
Töövihiku aktiveerimise sündmus
Mõnda koodi saate käivitada alati, kui konkreetne töövihik avatakse Töövihiku avatud sündmus.
Asetage see protseduur oma töövihiku ThisWorkbook moodulisse:
123 | Privaatne alamtöövihik_Avatud ()Arvutustabelid ("leht1"). AktiveerigeEnd Sub |
See protseduur aktiveerub Leht1 iga kord, kui töövihik avatakse.