VBA darbas su darbaknygėmis (darbaknygės objektas)

Šis vadovas supažindins jus su darbu su Darbaknygės objektas VBA.

Darbo knygos objektas

Pirma, norėdami bendrauti su darbo knygomis VBA, turite suprasti Darbo knygos objektas.

Naudodami darbaknygės objektą, galite nurodyti darbo knygas pagal jų pavadinimą:

1 Darbaknygės („Book2.xlsm“). Aktyvinti

Tačiau šis kodas veiks tik tada, kai darbo knyga yra atidaryta. Jei darbo knyga uždaryta, turėsite pateikti visą darbaknygės kelią:

1 Darbaknygės.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm")

Užuot įrašę visą kelią, jei norima darbaknygė yra tame pačiame kataloge kaip ir darbaknygė, kurioje saugomas jūsų kodas, galite naudoti šį eilutės kodą, kad atidarytumėte darbaknygę:

1 Darbaknygės. Atviras (ThisWorkbook.Path & "\ book2.xlsm")

Taip naudojamas „ThisWorkbook“ objektas, kurį aptarsime kitame skyriuje.

Darbaknygės rodyklės numeris

Galiausiai galite nurodyti darbo knygas pagal jų „indekso numerį“. Darbaknygės rodyklės numeris atitinka darbo knygos atidarymo tvarką (techniškai tai yra darbaknygės vieta darbaknygių kolekcijoje).

1 Darbo knygos (1). Aktyvinti

Tai naudinga, jei norite kažką panašaus uždaryti pirmą (arba paskutinę) atidarytą darbaknygę.

Suaktyvinkite darbaknygę, „ActiveWorkbook“ ir „ThisWorkbook“

Jei darbo knyga yra NEAKTYVUS, galite pasiekti tokius darbaknygės objektus:

1 Darbaknygės („Book2.xlsm“). Skaičiuoklės („Sheet1“). Diapazonas („A1“). Vertė = 1

Tačiau jei darbaknygė yra aktyvi, galite praleisti darbaknygės objektą:

1 Skaičiuoklės („Sheet1“). Diapazonas („A1“). Vertė = 1

Ir jei norite bendrauti su aktyviu darbaknygės lapu, taip pat galite atšaukti lapų objektą:

1 Diapazonas („A1“). Vertė = 1

Suaktyvinti darbaknygę

Norėdami suaktyvinti darbaknygę, naudokite Aktyvinti metodą.

1 Darbaknygės („Book2.xlsm“). Aktyvinti

Dabar galite bendrauti su „Book2“ objektu, aiškiai nenurodydami darbaknygės pavadinimo.

„ActiveWorkbook“

The „ActiveWorkbook“ objektas visada nurodo aktyvią darbaknygę. Tai naudinga, jei norite priskirti „ActiveWorkbook“ kintamajam, kad galėtumėte jį naudoti vėliau.

12 Dim wb Kaip darbo knygaNustatykite wb = ActiveWorkbook

Ši darbo knyga

The Ši darbo knyga objektas visada nurodo darbaknygę, kurioje saugomas veikimo kodas. Norėdami įjungti „ThisWorkbook“, naudokite šią kodo eilutę:

1 Ši darbo knyga. Aktyvinti

Atidarykite darbaknygę

Norėdami atidaryti darbaknygę, naudokite Atviras metodas:

1 Darbaknygės.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm")

Naujai atidaryta darbo knyga visada taps „ActiveWorkbook“, leidžianti lengvai su juo bendrauti.

1 ActiveWorkbook.Save

Atviras metodas turi keletą kitų argumentų, leidžiančių atidaryti tik skaityti, atidaryti slaptažodžiu apsaugotą darbaknygę ir dar daugiau. Tai aprašyta mūsų straipsnyje apie darbo knygų atidarymą / uždarymą.

Atidaryti ir priskirti kintamajam

Taip pat galite atidaryti darbaknygę ir priskirti ją kintamajam tuo pačiu metu:

12 Dim wb Kaip darbo knygaNustatykite wb = Workbooks.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm")

Atidarykite failų dialogą

Taip pat galite suaktyvinti dialogo langą Atidaryti failą taip:

12345678 Antrinė „OpenWorkbook“ ()Dim strFile As StringstrFile = Application.GetOpenFilename ()Darbaknygės. Atidaryti (strFile)Pabaiga Sub

Sukurti naują (pridėti) darbaknygę

Ši kodo eilutė sukurs naują darbaknygę:

1 Darbaknygės. Pridėti

Nauja darbo knyga dabar tampa „ActiveWorkbook“, leidžiantis su ja bendrauti (pvz., išsaugoti naują darbaknygę).

Pridėti naują darbaknygę prie kintamojo

Naują darbaknygę taip pat galite pridėti tiesiogiai prie kintamojo:

12 Dim wb Kaip darbo knygaNustatykite wb = Darbaknygės. Pridėti

Uždaryti darbaknygę

Uždaryti ir išsaugoti

Norėdami uždaryti darbaknygę išsaugodami, naudokite Uždaryti metodas su Išsaugoti pakeitimus nustatyta į TRUE:

1 ActiveWorkbook. Uždaryti SaveChanges: = Tiesa

Uždaryti be išsaugojimo

Norėdami uždaryti neišsaugodami, nustatykite Išsaugoti pakeitimus lygus FALSE:

1 ActiveWorkbook.Clos SaveChanges: = Netiesa

Darbo knyga Išsaugoti kaip

The „SaveAs“ metodas yra naudojama darbo knygai išsaugoti kaip.

Norėdami išsaugoti darbaknygę nauju pavadinimu tame pačiame kataloge, galite tai padaryti:

1 ActiveWorkbook.SaveAs "naujas"

kur „naujas“ yra naujas failo pavadinimas.

Norėdami išsaugoti darbaknygę naujame kataloge su konkrečiu failo plėtiniu, tiesiog nurodykite naują katalogą ir failo pavadinimą:

1 ActiveWorkbook.SaveAs "C: \ Users \ StevePC2 \ Downloads \ new.xlsm"

Kiti darbaknygės VBA pavyzdžiai

Darbaknygės pavadinimas

Norėdami sužinoti darbo knygos pavadinimą:

1 „MsgBox ActiveWorkbook“. Pavadinimas

Apsaugoti darbo knygą

Norėdami apsaugoti darbaknygės struktūrą nuo redagavimo, galite naudoti Apsaugos metodas (slaptažodis neprivalomas):

1 Darbaknygės („book1.xlsm“). Apsaugokite „slaptažodį“

Norėdami panaikinti darbo knygos apsaugą, naudokite Neapsaugotas metodas:

1 Darbaknygės („book1.xlsm“). Atšaukite „slaptažodžio“ apsaugą

Peržiūrėkite visas atviras darbo knygas

Norėdami peržiūrėti visas atidarytas darbaknyges:

123456789 „Sub LoopThroughWBs“ ()Dim wb Kaip darbo knygaUž kiekvieną wb darbaknygėse„MsgBox wb.Pavadinimas“Kitas wbPabaiga Sub

Darbo knygos suaktyvinimo įvykis

Galite paleisti tam tikrą kodą, kai tik atidaroma konkreti darbaknygė su Atviras darbo knygos įvykis.

Įdėkite šią procedūrą į savo darbaknygės „ThisWorkbook“ modulį:

123 Privati ​​antrinė darbo knyga_Atidaryti ()Skaičiuoklės („sheet1“). AktyvintiPabaiga Sub

Ši procedūra bus suaktyvinta 1 lapas kiekvieną kartą atidarius darbaknygę.

wave wave wave wave wave