Šioje pamokoje sužinosite, kaip naudoti VBA norint atidaryti ir uždaryti „Excel“ darbaknygę keliais būdais.
VBA leidžia atidaryti arba uždaryti failus naudojant standartinius metodus .Atviras ir .Uždaryti.
Jei norite sužinoti, kaip patikrinti failo egzistavimą prieš bandant atidaryti failą, galite spustelėti šią nuorodą: VBA failas yra
Atidarykite darbaknygę VBA
Atidarykite darbo knygą iš kelio
Jei žinote, kurį failą norite atidaryti, funkcijoje galite nurodyti visą jo kelio pavadinimą. Čia yra kodas:
1 | Darbaknygės. Atidarykite „C: \ VBA Folder \ Sample file 1.xlsx“ |
Ši kodo eilutė atveria failą „Pavyzdinis failas 1“ iš „VBA aplanko“.
Atidarykite darbaknygę - „ActiveWorkbook“
Kai atidarote darbaknygę, ji automatiškai tampa „ActiveWorkbook“. Naujai atidarytą darbaknygę galite nurodyti taip:
1 | ActiveWorkbook.Save |
Kai nurodote lapą ar diapazoną ir praleidžiate darbaknygės pavadinimą, VBA manys, kad turite omenyje „ActiveWorkbook“:
1 | Skaičiuoklės ("Sheet1"). Pavadinimas = "Įvestis" |
Atidarykite darbaknygę ir priskirkite kintamajam
Taip pat galite atidaryti darbaknygę ir priskirti ją tiesiogiai objekto kintamajam. Ši procedūra atvers darbaknygę wb kintamąjį ir išsaugokite darbaknygę.
123456 | Sub OpenWorkbookToVariable ()Dim wb Kaip darbo knygaNustatykite wb = Darbaknygės. Atidarykite ("C: \ VBA aplankas \ Pavyzdinis failas 1.xlsx")wb. IšsaugotiPabaiga Sub |
Darbo knygų priskyrimas kintamiesiems, kai jie atidaromi, yra geriausias būdas sekti savo darbo knygas
Darbaknygės atidarymo failo dialogas
Taip pat galite suaktyvinti darbaknygės dialogo langą Atidaryti failą. Tai leidžia vartotojui pereiti prie failo ir jį atidaryti:
12345678 | Antrinė „OpenWorkbook“ ()Dim strFile As StringstrFile = Application.GetOpenFilename ()Darbaknygės. Atidaryti (strFile)Pabaiga Sub |
Kaip matote 1 paveiksle, šiuo metodu vartotojai gali pasirinkti, kurį failą atidaryti. Dialogo langą Atidaryti failą galima labai pritaikyti. Galite pagal numatytuosius nustatymus pasirinkti tam tikrą aplanką, pasirinkti, kokio tipo failai yra matomi (tik… xlsx) ir dar daugiau. Norėdami gauti išsamių pavyzdžių, skaitykite mūsų pamoką dialogo lange Atidaryti failą.
Atidarykite naują darbaknygę
Ši kodo eilutė atvers naują darbaknygę:
1 | Darbaknygės. Pridėti |
Atidaryti naują kintamojo darbaknygę
Ši procedūra atvers naują darbaknygę, priskirdama ją kintamajam wb:
1234 | Sub OpenNewWorkbook ()Dim wb Kaip darbo knygaNustatykite wb = Darbaknygės. PridėtiPabaiga Sub |
Atidarykite darbaknygės sintaksę
Kai naudojate darbaknyges. Atidarę galite pastebėti, kad atidarius darbaknygę yra daug parinkčių:
Failo pavadinimas yra būtinas. Visi kiti argumentai yra neprivalomi - ir jums tikriausiai nereikės žinoti daugumos kitų argumentų. Štai du dažniausiai pasitaikantys:
Atidarykite tik skaitymo darbaknygę
Kai darbaknygė atidaroma tik skaitoma, negalite išsaugoti pirminio failo. Tai neleidžia vartotojui redaguoti failo.
1 | Darbaknygės. Atidarykite „C: \ VBA Folder \ Sample file 1.xlsx“,, Tiesa |
Atidarykite slaptažodžiu apsaugotą darbaknygę
Darbaknygė gali būti apsaugota slaptažodžiu. Naudokite šį kodą, kad atidarytumėte slaptažodžiu apsaugotą darbaknygę:
1 | Darbaknygės. Atidarykite „C: \ VBA Folder \ Sample file 1.xlsx",,, "password" |
Atidarykite darbaknygės sintaksės pastabas
Atkreipkite dėmesį, kad aukščiau esančiame paveikslėlyje mes įtraukėme skliaustus „(“), kad būtų rodoma sintaksė. Jei naudojate skliaustus dirbdami su darbaknygėmis. Atidarykite, turite priskirti darbaknygę kintamajam:
1234 | Sub OpenWB ()Dim wb Kaip darbo knygaNustatykite wb = Darbaknygės. Atidarykite ("C: \ VBA aplankas \ Pavyzdinis failas 1.xlsx", tiesa, tiesa)Pabaiga Sub |
Uždarykite darbaknygę VBA
Uždarykite konkrečią darbo knygą
Panašiai kaip darbo knygos atidarymas, yra keli būdai, kaip uždaryti failą. Jei žinote, kurį failą norite uždaryti, galite naudoti šį kodą:
1 | Darbaknygės.Uždaryti ("C: \ VBA aplankas \ Pavyzdinis failas 1.xlsx") |
Ši kodo eilutė uždaro failą „1 pavyzdinis failas“, jei jis atidarytas. Jei ne, tai grąžins klaidą, todėl turėtumėte pasirūpinti klaidų tvarkymu.
Uždaryti aktyvią darbaknygę
Jei norite uždaryti šiuo metu aktyvią darbaknygę, ši kodo eilutė leis jums tai padaryti:
1 | ActiveWorkbook.Uždaryti |
Uždarykite visas atidarytas darbaknyges
Norėdami uždaryti visas atidarytas darbaknyges, galite tiesiog naudoti šį kodą:
1 | Darbo knygos. Uždaryti |
Uždarykite pirmą kartą atidarytą darbaknygę
Bus uždaryta pirmoji atidaryta/sukurta darbaknygė:
1 | Darbo knygos (1). Uždaryti |
Pakeiskite 1 2, kad uždarytumėte antrą atidarytą / sukurtą darbaknygę ir pan.
Uždaryti neišsaugojus
Darbo knyga bus uždaryta neišsaugojus ir nerodant išsaugojimo raginimo:
1 | „ActiveWorkbook“. Uždaryti išsaugojimo pakeitimus: = Netiesa |
Išsaugoti ir uždaryti be raginimo
Panašiai bus išsaugota ir uždaryta darbaknygė, nerodant išsaugojimo raginimo:
1 | „ActiveWorkbook“. Uždaryti išsaugojimo pakeitimus: = Tiesa |
Pastaba: Yra keletas kitų būdų, kaip nurodyti, ar išsaugoti darbaknygę, ar ne, taip pat rodyti raginimus. Tai išsamiau aptariama čia.
Kiti darbo knygos atviri pavyzdžiai
Atidarykite kelias naujas darbaknyges
Ši procedūra atvers kelias naujas darbaknyges, priskirdama naujas darbaknyges masyvui:
12345678 | Sub OpenMultipleNewWorkbooks ()Dim arrWb (3) Kaip darbo knygaDim i As IntegerJei i = nuo 1 iki 3Nustatykite arrWb (i) = Darbo knygos. PridėtiKitas I.Pabaiga Sub |
Atidarykite visas „Excel“ darbaknyges aplanke
Ši procedūra atidarys visas aplanke esančias „Excel“ darbaknyges, naudodami parinktį Atidaryti failų dialogo langą.
12345678910111213141516 | Sub OpenMultipleWorkbooksInFolder ()Dim wb Kaip darbo knygaDim dlgFD kaip „FileDialog“„Dim strFolder“ kaip eilutėDim strFileName kaip eilutėNustatykite dlgFD = Application.FileDialog (msoFileDialogFolderPicker)Jei dlgFD.Rodyti = -1 TadastrFolder = dlgFD.SelectedItems (1) & Application.PathSeparatorstrFileName = Dir (strFolder & "*.xls*")Daryti, kol strFileName ""Nustatykite wb = Darbaknygės. Atidarykite (strFolder & strFileName)strFileName = RežKilpaPabaiga JeiPabaiga Sub |
Patikrinkite, ar atidaryta darbaknygė
Ši procedūra patikrins, ar atidaryta darbaknygė:
1234567891011 | Sub TestByWorkbookName ()Dim wb Kaip darbo knygaUž kiekvieną wb darbaknygėseJei wb.Name = "Naujas" Microsoft Excel "darbalapis.xls" TadaMsgBox „Radau“Išeikite iš „Sub“ skambučio kodo čia, kol kas tiesiog išeisimePabaiga JeiKitasPabaiga Sub |
Workbook_Open Event
VBA įvykiai yra „aktyvikliai“, liepiantys VBA paleisti tam tikrą kodą. Galite nustatyti darbo knygos įvykius atidaryti, uždaryti, prieš išsaugodami, po išsaugojimo ir dar daugiau.
Perskaitykite mūsų „Workbook_Open Event“ vadovėlį, kad sužinotumėte daugiau apie automatiškai paleistas makrokomandas, kai atidaroma darbaknygė.