Šī rokasgrāmata iepazīstinās jūs ar darbu ar Darbgrāmatas objekts VBA.
Darbgrāmatas objekts
Pirmkārt, lai mijiedarbotos ar darbgrāmatām VBA, jums ir jāsaprot Darbgrāmatas objekts.
Izmantojot darbgrāmatas objektu, varat atsaukties uz darbgrāmatām pēc to nosaukuma:
1 | Darbgrāmatas ("Book2.xlsm"). Aktivizēt |
Tomēr šis kods darbosies tikai tad, ja darbgrāmata ir atvērta. Ja darbgrāmata ir aizvērta, jums būs jānorāda viss darbgrāmatas ceļš:
1 | Darbgrāmatas. Atvērt ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm") |
Tā vietā, lai ierakstītu pilnu ceļu, ja vēlamā darbgrāmata atrodas tajā pašā direktorijā kā darbgrāmata, kurā tiek glabāts jūsu kods, varat izmantot šo rindas kodu, lai atvērtu darbgrāmatu:
1 | Darbgrāmatas. Atvērt (ThisWorkbook.Path & "\ book2.xlsm") |
Tas izmanto objektu ThisWorkbook, par kuru mēs runāsim nākamajā sadaļā.
Darbgrāmatas indeksa numurs
Visbeidzot, jūs varat atsaukties uz darbgrāmatām pēc to indeksa numura. Darbgrāmatas indeksa numurs atbilst darbgrāmatas atvēršanas secībai (tehniski tā ir darbgrāmatas pozīcija darbgrāmatu kolekcijā).
1 | Darbgrāmatas (1). Aktivizēt |
Tas ir noderīgi, ja vēlaties kaut ko darīt, piemēram, aizvērt pirmo (vai pēdējo) atvērto darbgrāmatu.
Aktivizējiet darbgrāmatu, ActiveWorkbook un ThisWorkbook
Ja darbgrāmata ir NEAKTĪVS, varat piekļūt darbgrāmatas objektiem šādi:
1 | Darbgrāmatas ("Book2.xlsm"). Izklājlapas ("Sheet1"). Diapazons ("A1"). Vērtība = 1 |
Tomēr, ja darbgrāmata ir aktīva, varat izlaist darbgrāmatas objektu:
1 | Izklājlapas ("1. lapa"). Diapazons ("A1"). Vērtība = 1 |
Un, ja vēlaties mijiedarboties ar darbgrāmatas aktīvo lapu, varat arī atcelt lapu lapas objektu:
1 | Diapazons ("A1"). Vērtība = 1 |
Aktivizēt darbgrāmatu
Lai aktivizētu darbgrāmatu, izmantojiet Aktivizēt metodi.
1 | Darbgrāmatas ("Book2.xlsm"). Aktivizēt |
Tagad jūs varat mijiedarboties ar Book2 objektu, skaidri nenorādot darbgrāmatas nosaukumu.
ActiveWorkbook
The ActiveWorkbook objekts vienmēr attiecas uz aktīvo darbgrāmatu. Tas ir noderīgi, ja vēlaties ActiveWorkbook piešķirt mainīgajam, lai to izmantotu vēlāk.
12 | Dim wb kā darbgrāmataIestatīt wb = ActiveWorkbook |
Šī darba grāmata
The Šī darba grāmata objekts vienmēr attiecas uz darbgrāmatu, kurā tiek saglabāts darbības kods. Lai aktivizētu šo darbgrāmatu, izmantojiet šo koda rindu:
1 | Šī darba grāmata. Aktivizēt |
Atveriet darbgrāmatu
Lai atvērtu darbgrāmatu, izmantojiet Atvērtā metode:
1 | Darbgrāmatas. Atvērt ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm") |
Tikko atvērtā darbgrāmata vienmēr kļūs par ActiveWorkbook, kas ļauj jums viegli mijiedarboties ar to.
1 | ActiveWorkbook.Save |
Atvērtajai metodei ir vairāki citi argumenti, kas ļauj atvērt tikai lasāmu, atvērt ar paroli aizsargātu darbgrāmatu un daudz ko citu. Tas ir apskatīts mūsu rakstā par darbgrāmatu atvēršanu / aizvēršanu.
Atvērt un piešķirt mainīgajam
Varat arī atvērt darbgrāmatu un vienlaikus piešķirt to mainīgajam:
12 | Dim wb kā darbgrāmataIestatiet wb = Workbooks.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm") |
Atveriet failu dialogu
Varat arī aktivizēt dialoglodziņu Atvērt failu:
12345678 | Apakšdarba grāmata ()Dim strFile kā virknestrFile = Application.GetOpenFilename ()Darbgrāmatas. Atvērt (strFile)Beigu apakš |
Izveidot jaunu (pievienot) darbgrāmatu
Šī koda rinda izveidos jaunu darbgrāmatu:
1 | Darbgrāmatas. Pievienot |
Jaunā darbgrāmata tagad kļūst par ActiveWorkbook, kas ļauj jums ar to mijiedarboties (piemēram, saglabāt jauno darbgrāmatu).
Pievienot mainīgajai jaunu darbgrāmatu
Jūs varat arī pievienot jaunu darbgrāmatu tieši mainīgajam:
12 | Dim wb kā darbgrāmataIestatiet wb = darbgrāmatas. Pievienot |
Aizveriet darbgrāmatu
Aizvērt un saglabāt
Lai aizvērtu darbgrāmatu ar saglabāšanu, izmantojiet Aizvēršanas metode ar Saglabāt izmaiņas iestatīts uz TRUE:
1 | ActiveWorkbook.Close SaveChanges: = True |
Aizvērt bez saglabāšanas
Lai aizvērtu, nesaglabājot, iestatiet Saglabāt izmaiņas vienāds ar FALSE:
1 | ActiveWorkbook.Close SaveChanges: = Nepareizi |
Darbgrāmata Saglabāt kā
The SaveAs metode tiek izmantota, lai saglabātu darbgrāmatu kā.
Lai saglabātu darbgrāmatu ar jaunu nosaukumu tajā pašā direktorijā, varat izmantot šo:
1 | ActiveWorkbook.SaveAs kā "jauns" |
kur “jauns” ir jaunā faila nosaukums.
Lai saglabātu darbgrāmatu jaunā direktorijā ar noteiktu faila paplašinājumu, vienkārši norādiet jauno direktoriju un faila nosaukumu:
1 | ActiveWorkbook.SaveAs "C: \ Users \ StevePC2 \ Downloads \ new.xlsm" |
Citi darbgrāmatas VBA piemēri
Darbgrāmatas nosaukums
Lai uzzinātu darbgrāmatas nosaukumu:
1 | MsgBox ActiveWorkbook.Name |
Aizsargāt darbgrāmatu
Lai aizsargātu darbgrāmatas struktūru no rediģēšanas, varat izmantot Aizsardzības metode (parole nav obligāta):
1 | Darbgrāmatas ("book1.xlsm"). Aizsargājiet "paroli" |
Lai atsauktu darbgrāmatas aizsardzību, izmantojiet Neaizsargāšanas metode:
1 | Darbgrāmatas ("book1.xlsm"). Atsauciet "paroli" |
Izpētiet visas atvērtās darbgrāmatas
Lai apskatītu visas atvērtās darbgrāmatas:
123456789 | Apakšējā cilpaWB ()Dim wb kā darbgrāmataPar katru wb darbgrāmatāsMsgBox wb.NameNākamais wbBeigu apakš |
Darbgrāmatas aktivizēšanas notikums
Varat palaist kādu kodu ikreiz, kad tiek atvērta konkrēta darbgrāmata ar Darbgrāmatas atklāšana.
Ievietojiet šo procedūru darbgrāmatas ThisWorkbook modulī:
123 | Privāta apakšdarbgrāmata_atvērt ()Izklājlapas ("lapa1"). AktivizētBeigu apakš |
Šī procedūra tiks aktivizēta 1. lapa katru reizi, kad tiek atvērta darbgrāmata.