Shrnutí
V Aplikaci Microsoft Excel můžete vytvořit makro jazyka VBA (Microsoft Visual Basic for Applications), které potlačí výzvu k uložení změn při zavření sešitu. To lze provést buď zadáním stavu vlastnosti sešitu Uloženo, nebo potlačením všech upozornění pro sešit.
Další informace
POZNÁMKA:Microsoft poskytuje programovací příklady pouze pro ilustraci, bez výslovné nebo předpokládané záruky. To zahrnuje mimo jiné předpokládané záruky prodejnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že jste obeznámeni s programovacím jazykem, který je demonstrován, a s nástroji, které se používají k vytváření a ladění procedur. Technici podpory Microsoftu vám můžou pomoct vysvětlit funkčnost konkrétního postupu. Tyto příklady však nebudou upravovat tak, aby poskytovaly přidané funkce nebo konstruktorní postupy, které splňují vaše konkrétní požadavky. Pokud se chcete připravit na implementaci některého z následujících příkladů, proveďte nejprve tyto kroky:
-
Spusťte Excel a otevřete nový sešit.
-
Stisknutím kombinace kláves ALT+F11 spusťte editor jazyka Visual Basic.
-
V nabídce Insert (Vložit) klikněte na Module (Modul).
-
Do listu modulu zadejte kód ukázkového makra.
-
Stisknutím kombinace kláves ALT+F11 se vrátíte do Excelu.
-
V aplikaci Microsoft Office Excel 2003 a starších verzích aplikace Excel zvolte Makro z nabídky Nástroje a potom klikněte na Makra.V aplikaci Microsoft Office Excel 2007 klepněte na tlačítko Makra ve skupině Kód na kartě Vývojář. Pokud karta Vývojář není k dispozici, zvažte provedení tohoto postupu: a. Klikněte na tlačítko Microsoft Office a potom klikněte na Možnosti aplikace Excel.b. V kategorii Oblíbené v části Horní možnosti pro práci s Excelem kliknutím vyberte zobrazit Karta Vývojář na pásu karet zaškrtněte políčko a potom klikněte na OK.
-
Vyberte požadované makro a klikněte na Spustit.
Vlastnost Saved vrátí hodnotu False, pokud byly v sešitu provedeny změny od posledního uložení.Název vyhrazeného podprogramu můžete použítAuto_Close k určení makra, které se má spustit při každém zavření sešitu. Přitom můžete určit, jak se bude s dokumentem pracovat, když uživatel zavře dokumenty v Excelu.
Příklad 1: Zavření sešitu bez uložení změn
Pokud chcete vynutit zavření sešitu bez uložení změn, zadejte následující kód v modulu Jazyka Visual Basic daného sešitu:
Sub Auto_Close()
ThisWorkbook.Saved = True
End Sub
Když je vlastnost Saved nastavena na Hodnotu True, Excel odpoví, jako by sešit byl již uložen a od posledního uložení nedošlo k žádným změnám.Vlastnost DisplayAlerts programu lze použít ke stejnému účelu. Následující makro například vypne funkci DisplayAlerts, zavře aktivní sešit bez uložení změn a pak znovu zapne funkci DisplayAlerts.
Sub CloseBook()
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
Můžete také použít SaveChanges argument Close metody.Následující makro zavře sešit bez uložení změn:
Sub CloseBook2()
ActiveWorkbook.Close savechanges:=False
End Sub
Příklad 2: Zavření sešitu a uložení změn
Chcete-li vynutit uložení změn v sešitu, zadejte do modulu jazyka Visual Basic tohoto sešitu následující kód:
Sub Auto_Close()
Pokud ThisWorkbook.Saved = False Then
ThisWorkbook.Save End If
End Sub
Tato dílčí akce zkontroluje, jestli je vlastnost Soubor Uložena nastavena na Hodnotu False. Pokud ano, sešit se od posledního uložení změnil a tyto změny se uloží.