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.