VBA Rad s radnim bilježnicama (objekt radne knjige)

Ovaj će vas vodič upoznati s radom s Objekt radne knjige u VBA.

Objekt radne knjige

Prvo, da biste mogli komunicirati s radnim knjigama u VBA -i, morate razumjeti Objekt radne bilježnice.

S objektom radne knjige možete se pozivati ​​na radne knjige po njihovom imenu ovako:

1 Radne bilježnice ("Book2.xlsm"). Aktivirajte

Međutim, ovaj će kôd funkcionirati samo ako je radna knjiga otvorena. Ako je radna knjiga zatvorena, morat ćete navesti punu putanju radne knjige:

1 Workbooks.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm")

Umjesto da upišete cijeli put, ako se vaša željena radna knjiga nalazi u istom direktoriju u kojem je i radna knjiga u kojoj je vaš kôd pohranjen, za otvaranje radne knjige možete upotrijebiti ovaj kôd retka:

1 Workbooks.Open (ThisWorkbook.Path & "\ book2.xlsm")

Time se koristi objekt ThisWorkbook o kojem ćemo govoriti u sljedećem odjeljku.

Indeksni broj radne bilježnice

Naposljetku, radne knjige možete uputiti prema njihovom "Indeksnom broju". Indeksni broj radne sveske odgovara redoslijedu otvaranja radne knjige (tehnički je to njen položaj u Zbirci radnih knjiga).

1 Radne bilježnice (1) .Aktivirajte

Ovo je korisno ako želite učiniti nešto poput zatvaranja prve (ili posljednje) otvorene radne knjige.

Aktivirajte radnu knjigu, aktivnu radnu knjigu i ovu radnu knjigu

Ako je radna bilježnica NIJE AKTIVAN, objektima radne knjige možete pristupiti ovako:

1 Radne knjige ("Book2.xlsm"). Listovi ("List1"). Raspon ("A1"). Vrijednost = 1

Međutim, ako je radna knjiga aktivna, možete izostaviti objekt radne knjige:

1 Listovi ("List1"). Raspon ("A1"). Vrijednost = 1

A ako želite komunicirati s aktivnim listom radne knjige, možete izostaviti i objekt listova:

1 Raspon ("A1"). Vrijednost = 1

Aktivirajte radnu knjigu

Za aktiviranje radne knjige upotrijebite Aktivirajte metodu.

1 Radne bilježnice ("Book2.xlsm"). Aktivirajte

Sada možete komunicirati s objektima Book2 bez izričitog navođenja naziva radne knjige.

ActiveWorkbook

The ActiveWorkbook objekt uvijek se odnose na aktivnu radnu knjigu. Ovo je korisno ako želite ActiveWorkbook dodijeliti varijabli za kasnije korištenje.

12 Dim wb Kao radna bilježnicaPostavite wb = ActiveWorkbook

Ova radna knjiga

The Ova radna knjiga objekt se uvijek odnosi na radnu knjigu u kojoj je pohranjen radni kôd. Da biste aktivirali ovu radnu knjigu, upotrijebite ovaj red koda:

1 ThisWorkbook.Aktivirajte

Otvorite radnu knjigu

Da biste otvorili radnu knjigu, upotrijebite Otvorena metoda:

1 Workbooks.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm")

Novootvorena radna knjiga uvijek će postati ActiveWorkbook, omogućujući vam jednostavnu interakciju s njim.

1 ActiveWorkbook.Save

Otvorena metoda ima nekoliko drugih argumenata koji vam omogućuju otvaranje samo za čitanje, otvaranje radne knjige zaštićene lozinkom i još mnogo toga. Ovdje je obrađeno u našem članku o otvaranju / zatvaranju radnih knjiga.

Otvori i dodijeli varijabli

Također možete otvoriti radnu knjigu i dodijeliti je varijabli istovremeno:

12 Dim wb Kao radna bilježnicaPostavite wb = Workbooks.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm")

Otvorite dijaloški okvir Datoteka

Dijaloški okvir Otvori datoteku možete pokrenuti i ovako:

12345678 Pod OpenWorkbook ()Dim strFile As StringstrFile = Application.GetOpenFilename ()Radne knjige.Otvoreno (strFile)Kraj podm

Izradite novu (dodajte) radnu knjigu

Ovaj redak koda stvorit će novu radnu knjigu:

1 Radne bilježnice.Dodaj

Nova radna knjiga sada postaje ActiveWorkbook, omogućujući vam interakciju s njom (npr. spremite novu radnu knjigu).

Dodaj novu radnu knjigu u varijablu

Također možete dodati novu radnu knjigu izravno u varijablu:

12 Dim wb Kao radna bilježnicaPostavite wb = Radne knjige.Dodaj

Zatvorite radnu knjigu

Zatvori i spremi

Da biste zatvorili radnu knjigu spremanjem, upotrijebite Metoda zatvaranja s Spremi promjene postavljeno na TRUE:

1 ActiveWorkbook.Close SaveChanges: = Istina

Zatvori bez spremanja

Za zatvaranje bez spremanja postavite Spremi promjene jednako FALSE:

1 ActiveWorkbook.Close SaveChanges: = False

Radna knjiga Spremi kao

The Metoda SaveAs koristi se za spremanje radne knjige kao.

Da biste spremili radnu knjigu s novim imenom, u isti direktorij, možete navesti sljedeće:

1 ActiveWorkbook.SaveAs "new"

gdje je “new” novi naziv datoteke.

Da biste spremili radnu knjigu u novi direktorij s određenim nastavkom datoteke, jednostavno navedite novi direktorij i naziv datoteke:

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

Ostali primjeri VBA radne knjige

Naziv radne sveske

Da biste dobili naziv radne knjige:

1 MsgBox ActiveWorkbook.Name

Zaštitite radnu knjigu

Da biste zaštitili strukturu radne knjige od uređivanja, možete koristiti Metoda zaštite (lozinka opcionalno):

1 Radne knjige ("book1.xlsm"). Zaštitite "lozinku"

Za uklanjanje zaštite radne knjige upotrijebite Metoda UnProtect:

1 Radne knjige ("book1.xlsm"). Uklonite zaštitu "lozinke"

Prođite kroz sve otvorene radne knjige

Da biste pregledali sve otvorene radne knjige:

123456789 Sub LoopThroughWBs ()Dim wb Kao radna bilježnicaZa svaku wb u radnim bilježnicamaMsgBox wb.NameSljedeća wbKraj podm

Radna sveska Aktiviraj događaj

Možete pokrenuti neki kôd kad god se određena radna knjiga otvori s Otvoreni događaj radne sveske.

Postavite ovaj postupak u ovu radnu knjigu Modul ove radne knjige:

123 Privatna pomoćna radna knjiga_Open ()Tablice ("list1"). AktivirajteKraj podm

Ovaj postupak će se aktivirati List 1 svaki put pri otvaranju radne knjige.

wave wave wave wave wave