VBA atidaryti / uždaryti darbo knygą

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

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave