VBA darbs ar darbgrāmatām (darbgrāmatas objekts)

Šī 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.

wave wave wave wave wave