Sammanfattning
I Microsoft Excel kan du skapa ett Microsoft VBA-makro (Visual Basic for Applications) som döljer kommandot Spara ändringar när du stänger en arbetsbok. Detta kan göras antingen genom att ange status för egenskapen Sparad arbetsbok eller genom att ignorera alla aviseringar för arbetsboken.
Mer information
Obs! Microsoft tillhandahåller endast programmeringsexempel i visningssyfte, utan att någon form av garanti uttrycks eller är underförstådd. Detta omfattar men är inte begränsat till underförstådda garantier för säljbarhet eller lämplighet för ett visst ändamål. Den här artikeln förutsätter att du är bekant med programmeringsspråket som demonstreras och med de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till att förklara funktionerna i en viss procedur. De kommer dock inte att ändra dessa exempel för att tillhandahålla ytterligare funktioner eller konstruktionsprocedurer för att uppfylla dina specifika krav.
Förbered dig för att implementera något av exemplen nedan genom att utföra följande steg först:-
Starta Excel och öppna en ny arbetsbok.
-
Tryck på ALT+F11 för att starta Visual Basic-redigeraren.
-
Klicka på Modul på Infoga-menyn.
-
Skriv exempelmakronkoden i modulbladet.
-
Tryck på ALT+F11 för att återgå till Excel.
-
I Microsoft Office Excel 2003 och i tidigare versioner av Excel väljer du Makro på verktygsmenyn och klickar sedan på Makron.
I Microsoft Office Excel 2007 klickar du på Makron i gruppen Kod på fliken Utvecklare. Om fliken Utvecklare inte är tillgänglig kan du göra följande: a. Klicka på Microsoft Office-knappen och sedan på Excel-alternativ. b. I kategorin Populära, under De vanligaste alternativen för att arbeta med Excel, klickar du för att välja Visa Fliken Utvecklare i menyfliksområdet och klicka sedan på OK. -
Markera det makro du vill använda och klicka sedan på Kör.
Egenskapen Sparade returnerar värdet Falskt om ändringar har gjorts i en arbetsbok sedan den senast sparades.Auto_Close för att ange ett makro som ska köras när en arbetsbok stängs. När du gör det kan du styra hur dokumentet hanteras när användaren stänger dokumenten i Excel.
Du kan använda det reserverade underrubriknamnetExempel 1: Stäng arbetsboken utan att spara ändringar
Om du vill tvinga en arbetsbok att stängas utan att spara några ändringar skriver du följande kod i en Visual Basic-modul i arbetsboken:
Sub Auto_Close()
ThisWorkbook.Saved = True
End Sub
När egenskapen Sparad har angetts till True svarar Excel som om arbetsboken redan har sparats och inga ändringar har gjorts sedan den senaste sparande.
Egenskapen DisplayAlerts för programmet kan användas i samma syfte. Följande makro inaktiverar till exempel DisplayAlerts, stänger den aktiva arbetsboken utan att spara ändringar och aktiverar sedan DisplayAlerts igen.Sub CloseBook()
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
Du kan också använda argumentet SaveChanges i metoden Stäng.
Följande makro stänger arbetsboken utan att spara ändringar:Sub CloseBook2()
ActiveWorkbook.Close savechanges:=False
End Sub
Exempel 2: Stäng arbetsboken och spara ändringarna
Om du vill tvinga en arbetsbok att spara ändringar skriver du följande kod i en Visual Basic-modul i arbetsboken:
Sub Auto_Close()
If ThisWorkbook.Saved = False Then
ThisWorkbook.Save End If
End Sub
Den här underproceduren kontrollerar om egenskapen Sparad fil har angetts till Falskt. I så fall har arbetsboken ändrats sedan den senaste sparande och dessa ändringar sparas.