VBA Otvaranje / zatvaranje radne knjige

U ovom vodiču naučit ćete kako koristiti VBA za otvaranje i zatvaranje radne knjige programa Excel na nekoliko načina.

VBA vam omogućuje otvaranje ili zatvaranje datoteka standardnim metodama .Otvorena i .Zatvoriti.

Ako želite saznati kako provjeriti postoji li datoteka prije nego što pokušate otvoriti datoteku, možete kliknuti na ovu vezu: VBA datoteka postoji

Otvorite radnu knjigu u VBA -i

Otvorite radnu knjigu s puta

Ako znate koju datoteku želite otvoriti, u funkciji možete navesti njezin puni naziv puta. Evo koda:

1 Radne knjige.Otvorite "C: \ VBA mapa \ Primjer datoteke 1.xlsx"

Ovaj redak koda otvara datoteku "Primjer datoteke 1" iz "VBA mape".

Otvorena radna knjiga - ActiveWorkbook

Kad otvorite radnu knjigu, ona automatski postaje ActiveWorkbook. Novootvorenu radnu knjigu možete uputiti na sljedeći način:

1 ActiveWorkbook.Save

Kada referencirate list ili raspon i izostavite naziv radne knjige, VBA će pretpostaviti da se pozivate na ActiveWorkbook:

1 Tablice ("List1"). Naziv = "Unos"

Otvorite radnu knjigu i dodijelite je varijabli

Također možete otvoriti radnu knjigu i dodijeliti je izravno varijabli objekta. Ovaj postupak će otvoriti radnu knjigu za wb varijablu, a zatim spremite radnu knjigu.

123456 Pod OpenWorkbookToVariable ()Dim wb Kao radna bilježnicaPostavi wb = Radne knjige.Open ("C: \ VBA mapa \ Primjer datoteke 1.xlsx")wb.SpremiKraj podm

Dodjeljivanje radnih knjiga varijablama kada se otvore najbolji je način za praćenje vaših radnih knjiga

Radni dnevnik Otvoreni dijalog datoteka

Također možete pokrenuti dijaloški okvir Otvori datoteku radne knjige. To omogućuje korisniku da dođe do datoteke i otvori je:

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

Kao što možete vidjeti na slici 1, s ovim pristupom korisnici mogu birati koju će datoteku otvoriti. Dijaloški okvir Otvorena datoteka može se uvelike prilagoditi. Možete zadano postaviti određenu mapu, odabrati koje će vrste datoteka biti vidljive (npr. Samo xlsx) itd. Za detaljne primjere pročitajte naš vodič u dijaloškom okviru Otvorite datoteku.

Otvorite novu radnu knjigu

Ovaj redak koda otvorit će novu radnu knjigu:

1 Radne bilježnice.Dodaj

Otvorite novu radnu knjigu promjenjivoj

Ovaj postupak će otvoriti novu radnu knjigu dodjeljujući je varijabli wb:

1234 Pod OpenNewWorkbook ()Dim wb Kao radna bilježnicaPostavite wb = Radne knjige.DodajKraj podm

Otvorite Sintaksu radne knjige

Kada koristite radne knjige. Otvorene biste mogli primijetiti da postoje mnoge opcije dostupne pri otvaranju radne knjige:

Naziv datoteke je obavezan. Svi drugi argumenti su izborni - i vjerojatno nećete morati znati većinu drugih argumenata. Evo dvije najčešće:

Otvorite radnu knjigu Samo za čitanje

Kad se radna knjiga otvori samo za čitanje, ne možete spremiti izvornu datoteku. Time se sprječava da korisnik uređuje datoteku.

1 Radne knjige.Otvorite "C: \ VBA Mapa \ Primjer datoteke 1.xlsx",, Tačno

Otvorite radnu knjigu zaštićenu lozinkom

Radna knjiga može biti zaštićena lozinkom. Upotrijebite ovaj kôd za otvaranje radne knjige zaštićene lozinkom:

1 Radne knjige. Otvorite "C: \ VBA Mapa \ Primjer datoteke 1.xlsx",,, "lozinka"

Otvorite Sintaksne bilješke radne knjige

Primijetite da smo na gornjoj slici uključili zagrade “(” za prikaz sintakse. Ako koristite zagrade pri radu s radnim knjigama. Otvorite, radnu knjigu morate dodijeliti varijabli:

1234 Sub OpenWB ()Dim wb Kao radna bilježnicaPostavi wb = Radne knjige.Open ("C: \ VBA Mapa \ Primjer datoteke 1.xlsx", Tačno, Istina)Kraj podm

Zatvorite radnu knjigu u VBA -i

Zatvorite određenu radnu knjigu

Slično otvaranju radne knjige, postoji nekoliko načina za zatvaranje datoteke. Ako znate koju datoteku želite zatvoriti, možete upotrijebiti sljedeći kôd:

1 Workbooks.Close ("C: \ VBA mapa \ Primjer datoteke 1.xlsx")

Ovaj redak koda zatvara datoteku "Primjer datoteke 1" ako je otvorena. Ako ne, vratit će grešku, pa biste se trebali pobrinuti za rješavanje pogrešaka.

Zatvorite aktivnu radnu knjigu

Ako želite zatvoriti radnu knjigu koja je trenutno aktivna, ovaj redak koda omogućit će vam da to učinite:

1 ActiveWorkbook.Zatvorite

Zatvorite sve otvorene radne knjige

Da biste zatvorili sve otvorene radne knjige, jednostavno upotrijebite ovaj kôd:

1 Radne bilježnice.Zatvori

Zatvorite prvo otvorenu radnu knjigu

Time će se zatvoriti prva otvorena/kreirana radna knjiga:

1 Radne bilježnice (1) .Zatvori

Zamijenite 1 s 2 da biste zatvorili drugu otvorenu / stvorenu radnu knjigu i tako dalje.

Zatvori bez spremanja

Ovo će zatvoriti radnu knjigu bez spremanja i bez prikazivanja upita za spremanje:

1 ActiveWorkbook.Close savechanges: = False

Spremi i zatvori bez upita

Slično, ovo će spremiti i zatvoriti radnu knjigu bez prikazivanja upita za spremanje:

1 ActiveWorkbook.Close savechanges: = True

Napomena: Postoji nekoliko drugih načina za označavanje hoćete li spremiti ili ne spremati radnu knjigu, kao i prikazati upite ili ne. Ovdje se o tome detaljnije raspravlja.

Ostali otvoreni primjeri radne sveske

Otvorite više novih radnih knjiga

Ovaj postupak će otvoriti više novih radnih knjiga, dodjeljujući nove radne knjige nizu:

12345678 Pod OpenMultipleNewWorkbooks ()Dim arrWb (3) Kao radna bilježnicaDim i Kao cijeli brojZa i = 1 do 3Postavite arrWb (i) = Radne knjige.DodajSljedeći iKraj podm

Otvorite sve radne knjige programa Excel u mapi

Ovaj postupak će otvoriti sve radne knjige programa Excel u mapi pomoću alata za odabir dijaloga Open File Dialog.

12345678910111213141516 Sub OpenMultipleWorkbooksInFolder ()Dim wb Kao radna bilježnicaZatamni dlgFD kao FileDialogZatamni mapu kao nizDim strFileName As StringPostavi dlgFD = Application.FileDialog (msoFileDialogFolderPicker)Ako je dlgFD.Show = -1 TadastrFolder = dlgFD.SelectedItems (1) & Application.PathSeparatorstrFileName = Dir (strFolder & "*.xls*")Do While strFileName ""Postavi wb = Radne knjige.Otvori (strFolder & strFileName)strFileName = DirPetljaZavrši akoKraj podm

Provjerite je li radna knjiga otvorena

Ovaj postupak će provjeriti je li radna knjiga otvorena:

1234567891011 Pod TestByWorkbookName ()Dim wb Kao radna bilježnicaZa svaku wb u radnim bilježnicamaAko wb.Name = "Novi radni list Microsoft Excel.xls" ZatimMsgBox "Pronašao sam"Ovdje izađite iz pozivnog koda Sub, za sada ćemo samo izaćiZavrši akoSljedećiKraj podm

Workbook_Open Event

VBA događaji su "okidači" koji VBA govore da pokreće određeni kôd. Događaje radne knjige možete postaviti za otvaranje, zatvaranje, prije spremanja, nakon spremanja i još mnogo toga.

Pročitajte naš udžbenik Workbook_Open Event da biste saznali više o automatskom izvođenju makronaredbi pri otvaranju radne knjige.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave