Resumé
I Microsoft Excel kan du oprette en Microsoft Visual Basic for Applications-makro (VBA), der undertrykker prompten Gem ændringer, når du lukker en projektmappe. Dette kan gøres enten ved at angive tilstanden for projektmappens gemte egenskab eller ved at skjule alle beskeder for projektmappen.
Flere oplysninger
BEMÆRK! Microsoft leverer kun programmeringseksempler til illustration uden garanti, hverken udtrykt eller underforstået. Dette omfatter, men er ikke begrænset til, underforståede garantier for salgbarhed eller egnethed til et bestemt formål. I denne artikel antages det, at du kender det programmeringssprog, der demonstreres, og med de værktøjer, der bruges til at oprette og foretage fejlfinding af procedurer. Microsofts supportteknikere kan hjælpe med at forklare funktionaliteten af en bestemt procedure. De vil dog ikke ændre disse eksempler for at give ekstra funktionalitet eller konstruere procedurer for at opfylde dine specifikke krav.
Hvis du vil forberede implementeringen af et af nedenstående eksempler, skal du først udføre disse trin:-
Start Excel, og åbn en ny projektmappe.
-
Tryk på Alt+F11 for at starte Visual Basic-redigeringsprogrammet.
-
Klik på Modul i menuen Indsæt.
-
Skriv eksempelmakrokoden i modularket.
-
Tryk på Alt+F11 for at vende tilbage til Excel.
-
I Microsoft Office Excel 2003 og i tidligere versioner af Excel skal du vælge Makro i menuen Funktioner og derefter klikke på Makroer.
I Microsoft Office Excel 2007 skal du klikke på Makroer i gruppen Kode under fanen Udvikler. Hvis fanen Udvikler ikke er tilgængelig, skal du overveje at gøre følgende: en. Klik på Microsoft Office-knappen , og klik derefter på Excel-indstillinger. b. I kategorien Populære under De vigtigste indstillinger for at arbejde med Excel skal du klikke for at vælge vis Fanen Udvikler på båndet, og klik derefter på OK. -
Markér den ønskede makro, og klik derefter på Kør.
Egenskaben Gemte returnerer værdien Falsk, hvis der er foretaget ændringer i en projektmappe, siden den sidst blev gemt.Auto_Close til at angive en makro, der skal køres, når en projektmappe lukkes. Når du gør det, kan du styre, hvordan dokumentet håndteres, når brugeren lukker dokumenterne i Excel.
Du kan bruge det reserverede subrutinnavnEksempel 1: Luk projektmappen uden at gemme ændringer
Hvis du vil tvinge en projektmappe til at lukke uden at gemme ændringer, skal du skrive følgende kode i et Visual Basic-modul i den pågældende projektmappe:
Sub Auto_Close()
ThisWorkbook.Saved = True
End Sub
Når egenskaben Gemt er angivet til Sand, reagerer Excel, som om projektmappen allerede er blevet gemt, og der ikke er foretaget nogen ændringer siden den seneste lagring.
Egenskaben DisplayAlerts for programmet kan bruges til det samme formål. Følgende makro slår f.eks. DisplayAlerts fra, lukker den aktive projektmappe uden at gemme ændringer og slår derefter DisplayAlerts til igen.Sub CloseBook()
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
Du kan også bruge argumentet SaveChanges for metoden Luk.
Følgende makro lukker projektmappen uden at gemme ændringer:Sub CloseBook2()
ActiveWorkbook.Close savechanges:=False
End Sub
Eksempel 2: Luk projektmappen, og gem ændringerne
Hvis du vil tvinge en projektmappe til at gemme ændringer, skal du skrive følgende kode i et Visual Basic-modul i den pågældende projektmappe:
Sub Auto_Close()
If ThisWorkbook.Saved = False Then
ThisWorkbook.Save End If
End Sub
Denne underprocedure kontrollerer, om egenskaben Gemt fil er indstillet til Falsk. Hvis det er tilfældet, er projektmappen blevet ændret siden sidste lagring, og disse ændringer gemmes.