Zošit na otvorenie / zatvorenie VBA

V tomto návode sa naučíte používať VBA na otváranie a zatváranie zošita programu Excel niekoľkými spôsobmi.

VBA vám umožňuje otvárať alebo zatvárať súbory pomocou štandardných metód .Otvorené a .Zavrieť.

Ak sa chcete dozvedieť, ako skontrolovať, či súbor existuje, skôr ako sa ho pokúsite otvoriť, môžete kliknúť na tento odkaz: Súbor VBA existuje

Otvorte zošit vo VBA

Otvorte zošit z cesty

Ak viete, ktorý súbor chcete otvoriť, môžete vo funkcii zadať jeho úplný názov cesty. Tu je kód:

1 Zošity. Otvorte "C: \ Priečinok VBA \ Ukážkový súbor 1.xlsx"

Tento riadok kódu otvára súbor „Ukážkový súbor 1“ zo priečinka „VBA Folder“.

Otvorený zošit - ActiveWorkbook

Keď zošit otvoríte, automaticky sa stane ActiveWorkbookom. Na novo otvorený zošit môžete odkazovať takto:

1 ActiveWorkbook.Save

Keď odkazujete na hárok alebo rozsah a vynecháte názov zošita, VBA bude predpokladať, že máte na mysli ActiveWorkbook:

1 Tabuľky („List1“). Názov = „Vstup“

Otvorte zošit a priraďte premennej

Môžete tiež otvoriť zošit a priradiť ho priamo k premennej objektu. Tento postup otvorí zošit do súboru wb premennú a potom uložte zošit.

123456 Sub OpenWorkbookToVariable ()Dim wb ako zošitNastaviť wb = zošity. Otvorené ("C: \ Priečinok VBA \ Ukážkový súbor 1.xlsx")wb. UložiťKoniec pod

Priradenie zošitov k premenným pri ich otvorení je najlepší spôsob, ako sledovať svoje zošity

Dialógové okno Otvoriť zošit

Môžete tiež spustiť zošit Dialógové okno Otvoriť súbor. To umožňuje používateľovi prejsť na súbor a otvoriť ho:

12345678 Sub OpenWorkbook ()Dim strFile ako reťazecstrFile = Application.GetOpenFilename ()Zošity. Otvorené (strFile)Koniec pod

Ako vidíte na obrázku 1, pomocou tohto prístupu si používatelia môžu vybrať, ktorý súbor otvoria. Dialógové okno Otvoriť súbor je možné výrazne prispôsobiť. Môžete predvolene nastaviť určitý priečinok, vybrať, ktoré typy súborov sú viditeľné (iba ex … xlsx) a ďalšie. Podrobné príklady nájdete v našom návode v dialógovom okne Otvorený súbor.

Otvorte nový zošit

Tento riadok kódu otvorí nový zošit:

1 Zošity. Pridať

Otvoriť nový zošit na premennú

Tento postup otvorí nový zošit a priradí ho k premennej wb:

1234 Sub OpenNový pracovný zošit ()Dim wb ako zošitNastaviť wb = zošity. PridaťKoniec pod

Otvorte syntax zošita

Keď používate zošity. Otvorené, môžete si všimnúť, že pri otváraní zošita je k dispozícii veľa možností:

Názov súboru je povinný. Všetky ostatné argumenty sú voliteľné - a pravdepodobne nebudete musieť poznať väčšinu ostatných argumentov. Tu sú dve najbežnejšie:

Otvoriť zošit iba na čítanie

Keď je zošit otvorený len na čítanie, nemôžete uložiť pôvodný súbor. To znemožňuje úpravu súboru používateľom.

1 Zošity. Otvorte "C: \ Priečinok VBA \ Ukážkový súbor 1.xlsx",, True

Otvorte zošit chránený heslom

Zošit môže byť chránený heslom. Tento kód použite na otvorenie zošita chráneného heslom:

1 Zošity. Otvorte "C: \ Priečinok VBA \ Ukážkový súbor 1.xlsx",,, "heslo"

Otvorte poznámky k syntaxi zošita

Všimnite si, že na obrázku vyššie sme zahrnuli zátvorku „(“ na zobrazenie syntaxe. Ak používate zátvorky pri práci so zošitmi. Otvorte, zošit musíte priradiť k premennej:

1234 Sub OpenWB ()Dim wb ako zošitNastaviť wb = zošity. Otvorené ("C: \ Priečinok VBA \ Ukážkový súbor 1.xlsx", True, True)Koniec pod

Zatvorte zošit vo VBA

Zavrieť konkrétny zošit

Podobne ako pri otváraní zošita existuje niekoľko spôsobov, ako zavrieť súbor. Ak viete, ktorý súbor chcete zavrieť, môžete použiť nasledujúci kód:

1 Workbooks.Close ("C: \ Priečinok VBA \ Vzorový súbor 1.xlsx")

Tento riadok kódu zatvorí súbor „Ukážkový súbor 1“, ak je otvorený. Ak nie, vráti chybu, takže by ste sa mali o riešenie chýb postarať.

Zatvorte aktívny zošit

Ak chcete zavrieť aktuálne aktívny zošit, tento riadok kódu vám to umožní:

1 ActiveWorkbook.Zavrieť

Zatvorte všetky otvorené zošity

Na zatvorenie všetkých otvorených zošitov môžete jednoducho použiť tento kód:

1 Pracovné zošity. Zavrieť

Zatvoriť prvý otvorený zošit

Tým sa zatvorí prvý otvorený/vytvorený zošit:

1 Zošity (1). Zavrieť

Nahradením 1 číslom 2 zavriete druhý otvorený / vytvorený zošit a podobne.

Zatvoriť bez uloženia

Tým sa zošit zavrie bez uloženia a bez zobrazenia výzvy na uloženie:

1 ActiveWorkbook.Zavrieť savechanges: = False

Uložiť a zavrieť bez výzvy

Podobne to uloží a zatvorí zošit bez zobrazenia výzvy na uloženie:

1 ActiveWorkbook.Zavrieť uložiť zmeny: = Pravda

Poznámka: Existuje niekoľko ďalších spôsobov, ako určiť, či sašit má alebo nemá uložiť, a tiež, či sa majú zobrazovať výzvy alebo nie. Tu je to podrobnejšie prediskutované.

Ďalšie otvorené zošity Príklady

Otvorte viac nových zošitov

Tento postup otvorí niekoľko nových zošitov a priradí nové zošity k poľu:

12345678 Sub OpenMultipleNewWorkbooks ()Dim arrWB (3) Ako zošitDim i As IntegerPre i = 1 až 3Nastaviť arrWb (i) = zošityĎalej iKoniec pod

Otvorte všetky zošity programu Excel v priečinku

Tento postup otvorí všetky zošity programu Excel v priečinku pomocou výberu dialógového okna Otvoriť súbor.

12345678910111213141516 Sub OpenMultipleWorkbooksInFolder ()Dim wb ako zošitDim dlgFD ako FileDialogDim strFolder ako reťazecDim strFileName ako reťazecNastaviť dlgFD = Application.FileDialog (msoFileDialogFolderPicker)Ak dlgFD.Show = -1 PotomstrFolder = dlgFD.SelectedItems (1) & Application.PathSeparatorstrFileName = Dir (strFolder & "*.xls*")Urobiť pri strFileName ""Nastaviť wb = zošity. Otvorené (strFolder & strFileName)strFileName = DirSlučkaKoniec AkKoniec pod

Skontrolujte, či je zošit otvorený

Tento postup otestuje, či je zošit otvorený:

1234567891011 Sub TestByWorkbookName ()Dim wb ako zošitPre každý wb v zošitochAk wb.Name = "Nový pracovný list programu Microsoft Excel. Xls", potomMsgBox „Našlo sa“Tu ukončite volací kód Sub ', zatiaľ iba skončímeKoniec AkĎalšieKoniec pod

Zošit_Otvorená udalosť

Udalosti VBA sú „spúšťače“, ktoré hovoria VBA, aby spustila určitý kód. Udalosti zošita môžete nastaviť na otváranie, zatváranie, pred uložením, po uložení a ďalšie.

Prečítajte si náš návod Workbook_Open Event, aby ste sa dozvedeli viac o automatickom spúšťaní makier pri otvorení zošita.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave