Přejít na hlavní obsah

VBA Excel: jak zavřít okno aplikace Excel

Excel je jedním z nejoblíbenějších tabulkových programů. Poskytuje uživateli širokou škálu funkcí a možností pro zpracování dat. Někdy je však nutné zavřít okno aplikace Excel pomocí kódu VBA.

Například při automatizaci úloh může nastat situace, kdy je nutné zavřít Excel po provedení určité operace nebo programu. V VBA existuje několik způsobů, jak zavřít okno aplikace Excel v závislosti na konkrétním úkolu.

Jedním ze způsobů je použití metody Quit(). Tato metoda zavře všechny otevřené knihy bez uložení změn a dokončí Excel jako celek. Používá se k čistému a rychlému uzavření aplikace Excel, aniž by bylo potvrzeno uložení změn.

Pokud chcete změny před uzavřením uložit, můžete použít metodu Close(). Tato metoda uzavírá uvedenou knihu s možností uložení změn. Při použití této metody je možné zadat parametry pro uložení knihy před uzavřením.

V obou případech, po ukončení aplikace Excel, program přejde na další akci nebo skončí úplně, v závislosti na kódu.

Uzavření okna Excel: použití VBA

Chcete-li zavřít okno aplikace Excel pomocí VBA, můžete použít objekt aplikace a jeho metodu Quit. Metoda Quit zavře aktuální okno aplikace Excel bez uložení změn, pokud byly provedeny.

Zde je příklad kódu VBA, který zavírá okno Excel:

'Uzavření okna aplikace Excel
Application.Quit

V tomto příkladu kódu se vytvoří podprogram CloseExcelWindow, který vyvolá metodu Quit pro objekt aplikace. Tato metoda okamžitě zavře aktuální okno aplikace Excel.

Pokud chcete zavřít okno aplikace Excel při zachování změn, můžete použít jinou metodu - SaveAndCloseWindow. Tato metoda ukládá změny v dokumentu před zavřením okna:

'Uložení změn a zavření okna aplikace Excel
Application.Save
Application.Quit

V tomto příkladu kódu je pro objekt aplikace vyvolána metoda Save, která ukládá změny v aktivním dokumentu před zavřením okna. Poté je povolána metoda Quit, která zavře okno aplikace Excel.

Pomocí výše uvedených příkladů kódu můžete snadno zavřít okno aplikace Excel pomocí VBA a ovládat, zda jsou změny uloženy nebo neuloženy. Upozorňujeme, že při použití těchto metod budou všechny otevřené dokumenty aplikace Excel také uzavřeny.

Snadný způsob, jak zavřít okno aplikace Excel pomocí VBA

Pokud pracujete s makry v Excelu a chcete zavřít aktuální okno programu pomocí kódu VBA, pak existuje snadný způsob, jak to udělat:

  1. Přejděte do editoru VBA kliknutím Alt + F11.
  2. Vložte následující kód do modulu VBA:

Sub CloseExcelWindow()Application.QuitEnd Sub
  1. Stiskněte Alt + F8 pro otevření okna Makro.
  2. Vyberte makro "CloseExcelWindow" a klikněte na tlačítko Spustit.

Po provedení těchto kroků bude okno aplikace Excel zavřeno. Všimněte si, že tato metoda uzavírá nejen aktuální pracovní list, ale také celý program Excel.

Zavření okna Excel s uložením změn přes VBA

Prvním způsobem je použití metody Save. Tato metoda zachovává všechny změny v aktivní knize před uzavřením. Chcete-li zavřít okno s uložením změn, můžete použít následující kód:

Sub CloseExcelWithSave()ActiveWorkbook.SaveApplication.QuitEnd Sub

Druhým způsobem je použití metody DisplayAlerts. Tato metoda vám umožňuje spravovat zobrazení varovných oken. Nastavením hodnoty False, lze vypnout varovné okno pro uložení změn při zavření. Chcete-li zavřít okno s uložením změn bez výstražného okna, můžete použít následující kód:

Sub CloseExcelWithSaveAlertOff()Application.DisplayAlerts = FalseActiveWorkbook.Close SaveChanges:=TrueApplication.DisplayAlerts = TrueEnd Sub

Třetím způsobem je použití metody OnTime. Tato metoda umožňuje nejprve na chvíli oddálit zavření okna a poté provést uložení změn a zavření. To může být užitečné, pokud chcete uživateli poskytnout možnost zrušit zavření okna. Níže je uveden příklad kódu:

Sub CloseExcelWithSaveDelayed()Application.OnTime Now + TimeValue("00:00:05"), "SaveAndClose"End SubSub SaveAndClose()ActiveWorkbook.SaveApplication.QuitEnd Sub

Používat VBA, můžete zavřít okno Excel se zachováním změn. V tomto článku jsme se zabývali několika způsoby, jak tohoto cíle dosáhnout. Můžete si vybrat vhodný způsob podle vašich potřeb a preferencí.

Zavření okna Excel bez uložení změn pomocí VBA

Při práci s Excelem se můžete setkat se situací, kdy je nutné zavřít okno bez uložení provedených změn. To může být užitečné, například pokud došlo k chybě v procesu práce s daty nebo pokud je nutné zrušit všechny provedené změny.

K zavření okna bez uložení změn lze použít kód VBA. Visual Basic for Applications má speciální tým-ActiveWindow.Close, který umožňuje zavřít aktivní okno bez uložení změn.

Níže uvedený kód demonstruje použití tohoto příkazu:

Sub CloseWithoutSaving()Application.DisplayAlerts = FalseActiveWindow.CloseApplication.DisplayAlerts = TrueEnd Sub

V tomto kódu se nejprve vypne zobrazení varovných zpráv ( Application.DisplayAlerts = False) a teprve poté se použije příkaz ActiveWindow.Close . Po zavření okna se obnoví zobrazení varovných zpráv (Application.DisplayAlerts = True ).

Chcete-li použít tento kód, stačí otevřít vestavěný editor VBA v Excelu (stisknutím Alt+F11 ), vytvořit nový modul (stisknout Insert - > modul ) a zkopírovat kód do vytvořeného modulu. Poté je možné přiřadit vytvořené makro klávesové zkratce nebo ji přidat do panelu nástrojů pro snadný přístup.

Nyní, pokud je to nutné, můžete zavřít okno aplikace Excel bez uložení změn, stačí vyvolat vytvořené makro a provede potřebné kroky.