Het onderdrukt de prompt 'Wijzigingen opslaan' wanneer u een werkmap in Excel sluiten


Samenvatting


In Microsoft Excel, kunt u een Microsoft Visual Basic for Applications (VBA)-macro die de prompt 'Wijzigingen opslaan' onderdrukt wanneer u een werkmap sluit. U kunt dit doen door te geven van de status van de eigenschap Saved van de werkmap of alle waarschuwingen voor de werkmap te onderdrukken.

Meer informatie


Microsoft verstrekt programmeervoorbeelden dienen uitsluitend ter illustratie expliciete of impliciete. Dit omvat, maar is niet beperkt tot, de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend met de programmeertaal die wordt aangetoond en met de hulpprogramma's die worden gebruikt bent voor het maken van en naar procedures voor foutopsporing. Ondersteuningstechnici van Microsoft kunnen voor uitleg over de functionaliteit van een bepaalde procedure. Zij zal deze voorbeelden bieden extra functionaliteit of desgewenst uw specifieke vereisten echter niet wijzigen. Voor het gebruik van een van de volgende voorbeelden als volgt:
  1. Start Excel en open een nieuwe werkmap.
  2. Druk op ALT + F11 om de Visual Basic-editor te starten.
  3. Klik op Module in het menu Invoegen.
  4. Typ de voorbeeldcode in het modulewerkblad.
  5. Druk op ALT + F11 om terug te keren naar Excel.
  6. In Microsoft Office Excel 2003 en eerdere versies van Excel, wijst u Macro aan in het menu Extra en klik vervolgens op macro's. In Microsoft Office Excel 2007, klikt u op macro's in de groep Code ophet tabblad ontwikkelaars als het tabblad ontwikkelaars niet beschikbaar is, kunt u de volgende stappen uit:
    1. Klik op de Microsoft Office-knop en klik op Opties voor Excel.
    2. In de categorie Populair onder belangrijke opties voor het werken met Excel, schakelt u het selectievakje tabblad Ontwikkelaars op het lint weergeven in en klik vervolgens op OK.
  7. De macro die u wilt selecteren en klik vervolgens op uitvoeren.
De eigenschap Saved retourneert de waarde False als wijzigingen in een werkmap zijn aangebracht sinds deze voor het laatst is opgeslagen. U kunt de naam van de gereserveerde subroutine "Auto_sluiten" geeft u een macro die moet worden uitgevoerd wanneer een werkmap wordt gesloten. Op deze manier kunt u bepalen hoe het document wordt verwerkt wanneer de gebruiker voltooid is en heeft volgens de instructies Excel om het document te sluiten.

Voorbeeld 1: De werkmap sluiten zonder wijzigingen worden opgeslagen

Als u wilt dat een werkmap te sluiten zonder de wijzigingen op, typ de volgende code in een Visual Basic-module van de werkmap:
Sub Auto_Close()    ThisWorkbook.Saved = TrueEnd Sub
Omdat de eigenschap Saved is ingesteld op True, wordt Excel reageert als de werkmap is opgeslagen en er geen wijzigingen zijn opgetreden sinds die laatste opslaan. De eigenschap DisplayAlerts van het programma kan worden gebruikt voor hetzelfde doel. Bijvoorbeeld de volgende macro DisplayAlerts wordt uitgeschakeld, wordt de actieve werkmap gesloten zonder dat wijzigingen worden opgeslagen en wordt vervolgens opnieuw DisplayAlerts ingeschakeld.
Sub CloseBook()    Application.DisplayAlerts = False    ActiveWorkbook.Close    Application.DisplayAlerts = TrueEnd Sub
U kunt ook het argument SaveChanges van de methode Close gebruiken. De volgende macro wordt de werkmap gesloten zonder dat wijzigingen worden opgeslagen:
Sub CloseBook2()    ActiveWorkbook.Close savechanges:=FalseEnd Sub

Voorbeeld 2: Sluit de werkmap en de wijzigingen opslaan

Als u een werkmap wijzigingen wilt opslaan, typ de volgende code in een Visual Basic-module van de werkmap:
Sub Auto_Close()    If ThisWorkbook.Saved = False Then        ThisWorkbook.Save    End IfEnd Sub
Deze subprocedure gecontroleerd als de eigenschap Saved van het bestand is ingesteld op False. In dat geval de werkmap is gewijzigd sinds de laatste keer hebt opgeslagen en worden deze wijzigingen opgeslagen.