Jak potlačit "Uložit změny" řádku při zavření sešitu aplikace Excel


Shrnutí


V aplikaci Microsoft Excel můžete vytvořit Microsoft Visual Basic for Applications (VBA) makro, které Potlačí výzvu k "Uložit změny" při zavření sešitu. Lze provést buď zadáním stavu vlastnosti uložené v sešitu nebo potlačení všechna oznámení pro uživatele sešitu.

Další informace


Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci bez žádné záruky výslovně uvedené nebo odvozené. To zahrnuje, ale není omezen pouze na předpokládané záruky obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že jste obeznámeni s programovacím jazykem, který je předmětem ukázky a s nástroji, které slouží k vytvoření a ladění skriptu. Pracovníci podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu. Nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků. Chcete-li použít některý z následujících příkladů, postupujte takto:
  1. Spusťte aplikaci Excel a otevřete nový sešit.
  2. Stiskněte ALT + F11 spusťte editor jazyka Visual Basic.
  3. V nabídce Vložit klepněte na modul.
  4. Do listu modulu zadejte ukázkový kód makra.
  5. Stiskněte ALT + F11 se vraťte do aplikace Excel.
  6. V aplikaci Microsoft Office Excel 2003 a v dřívějších verzích aplikace Excel přejděte v nabídce Nástroje na příkaz makro a potom klepněte na příkaz makra. V aplikaci Microsoft Office Excel 2007 klepněte na tlačítko makra ve skupině kód na kartě VývojářPoznámka: Pokud není karta Vývojář k dispozici, zvažte následující kroky:
    1. Klepněte na Tlačítko Office a potom na tlačítko Možnosti aplikace Excel.
    2. V kategorii Oblíbené , ve skupinovém rámečku Nejpoužívanější možnosti pro práci s aplikací Excelzaškrtněte políčko Zobrazit kartu Vývojář na pásu karet a potom klepněte na tlačítko OK.
  7. Vyberte požadované makro a potom klepněte na příkaz Spustit.
Vlastnost uložený vrátí hodnotu False , pokud byly provedeny změny v sešitu od posledního uložení. Určit makra, která by měla spustit při každém zavření sešitu, můžete použít název vyhrazený podprogram "Auto_Close". Tímto způsobem můžete řídit způsob zpracování dokumentu, když uživatel dokončí a nařídila ukončení dokumentu aplikace Excel.

Příklad 1: Zavřete sešit bez uložení změn

Chcete-li vynutit sešit zavřete bez uložení změn, zadejte následující kód v modulu Visual Basic tohoto sešitu:
Sub Auto_Close()    ThisWorkbook.Saved = TrueEnd Sub
Vzhledem k tomu, že je uložená vlastnost nastavena na hodnotu True, aplikace Excel reaguje jako by byl uložen sešit a nedošlo k žádným změnám vzhledem k tomu, že poslední uložit. Vlastnost DisplayAlerts program slouží ke stejnému účelu. Například následující makro DisplayAlerts vypne zavře aktivní sešit bez uložení změn a potom Zapne DisplayAlerts znovu.
Sub CloseBook()    Application.DisplayAlerts = False    ActiveWorkbook.Close    Application.DisplayAlerts = TrueEnd Sub
Můžete také Zavřít metoda SaveChanges argument. Následující makro zavře sešit bez uložení změn:
Sub CloseBook2()    ActiveWorkbook.Close savechanges:=FalseEnd Sub

Příklad 2: Zavření sešitu a uložení změn

Chcete-li vynutit sešitu chcete-li změny uložit, zadejte následující kód v modulu Visual Basic tohoto sešitu:
Sub Auto_Close()    If ThisWorkbook.Saved = False Then        ThisWorkbook.Save    End IfEnd Sub
Tento subprocedure zkontroluje, pokud je soubor uložený vlastnost nastavena na False. Pokud ano, byl změněn od posledního uložení sešitu a uložení těchto změn.