Přejít na hlavní obsah

Excel VBA: jak zavřít aktivní okno

  • Dalibor Horváth
  • Rady

Excel VBA (Visual Basic for Applications) je výkonný nástroj, který vám umožňuje automatizovat práci s tabulkami a daty v Excelu. Jednou z častých otázek začínajících programátorů je, jak zavřít aktivní okno v Excelu pomocí VBA.

Chcete-li zavřít aktivní okno v Excelu pomocí VBA, můžete použít metodu "Close" objektu "ActiveWindow". Tato metoda zavře aktuální okno s aktivní knihou, aniž by došlo k uložení změn. Pokud je třeba před použitím metody Uložit změny, můžete nejprve vyvolat metodu "Save" objektu "ActiveWorkbook".

Sub CloseActiveWindow()

'Uložíme změny aktivní knihy

ActiveWorkbook.Save

'Zavřeme aktivní okno

ActiveWindow.Close

End Sub

Tento kód ukládá změny v aktivní knize pomocí metody " Save "objektu" ActiveWorkbook "a poté zavře aktivní okno pomocí metody" Close "objektu"ActiveWindow".

Pomocí aplikace Excel VBA můžete v Excelu automatizovat mnoho akcí, včetně zavírání oken, ukládání dat, vytváření sestav a dalších. Znalost VBA může výrazně urychlit práci s Excelem a umožní vám zvládnout více dat efektivněji.

Excel VBA: uzavření aktivního okna

V Excelu lze VBA použít funkci Close k uzavření aktivního okna nebo procesu. To může být užitečné, když je nutné okno automaticky zavřít, po provedení určitých akcí.

Chcete-li zavřít aktivní okno v Excelu VBA, použijte následující kód:

ActiveWindow.Close

Tento kód zavře aktivní okno, pokud bylo vybráno nebo aktivováno.

Pokud chcete zavřít určité okno podle jeho názvu, můžete použít následující kód:

Windows("Название окна").Close

Zde "název okna" je název okna, které chcete zavřít. Ujistěte se, že je název okna správně uveden a odpovídá jeho přesnému názvu.

Chcete-li zavřít všechna otevřená okna v Excelu VBA, můžete použít smyčku For each:

Dim wb As WorkbookFor Each wb In Workbookswb.CloseNext wb

Výše uvedený kód zavře všechny otevřené knihy aplikace Excel.

Nezapomeňte uložit změny v dokumentu před jeho uzavřením, pokud je to nutné. K tomu můžete použít metodu Save:

ActiveWorkbook.Save

Tento kód uloží změny v aktivní knize před jejím uzavřením. Pokud chcete uložit knihu s určitým názvem, použijte následující kód:

ActiveWorkbook.SaveAs "Путь_к_файлу\Имя_файла"

Zde je "Cesta_k_soubor\Název_souboru" cesta a název souboru, do kterého chcete knihu uložit.

Pomocí kódů pro zavírání oken v Excelu VBA usnadníte práci s makry a automatizujete procesy v Excelu.

Definice aktivního okna

Chcete-li například získat název aktivního listu, můžete použít následující kód:

Dim activeSheet As StringactiveSheet = ActiveWindow.ActiveSheet.Name

V tomto příkladu je proměnné activeSheet přiřazen název aktivního listu. Vlastnost ActiveSheet se vrací z Vlastnosti ActiveWindow, která označuje aktivní okno v Excelu.

Pokud potřebujete zavřít aktivní okno, můžete použít metodu Close . Například:

ActiveWindow.Close

Tento kód zavře aktivní okno aplikace Excel. Při používání metody Close je třeba být opatrní, protože bez varování uzavře všechny změny.

Pro práci s aktivními okny lze také použít další vlastnosti a metody z VBA. Například vlastnost ActiveWindow.Caption vrací název aktivního okna, vlastnost ActiveWindow.Left vrací pozici levého horního rohu aktivního okna, metodu ActiveWindow.Activate aktivuje okno a tak dále.

Pomocí těchto vlastností a metod můžete snadno interagovat s aktivními okny v Excelu a provádět potřebné operace.

Práce s objektem okna VBA

VBA lze ovládat okna aplikací, včetně aktivního okna, pomocí objektu Window. Objekt Window poskytuje řadu vlastností a metod, které umožňují různé operace okna, včetně jeho otevření, uzavření, změny velikosti a pohybu.

Chcete-li pracovat s objektem Window, musíte nejprve získat odkaz na aktivní okno. To lze provést pomocí vlastnosti ActiveWindow zařízení Application:

Dim activeWin As Window
Set activeWin = Application.ActiveWindow

Jakmile získáte odkaz na aktivní okno, můžete k jeho ovládání použít různé vlastnosti a metody objektu Window. Chcete-li například zavřít aktivní okno, můžete použít metodu Close:

Také pomocí metody Activate okno lze aktivovat, aby bylo aktivní:

Navíc, objekt Window má vlastnosti, které umožňují získat nebo změnit různé atributy okna, jako je jeho název, rozměry nebo poloha na obrazovce. Chcete-li například změnit velikost a polohu okna, můžete použít vlastnosti Width, Height, Top, Left:

activeWin.Width = 800
activeWin.Height = 600
activeWin.Top = 100
activeWin.Left = 100

Práce s objektem okna v VBA tedy umožňuje spravovat okna aplikací, včetně zavření aktivního okna a změny jeho atributů.