Sammendrag
I Microsoft Excel kan du opprette en Microsoft Visual Basic for Applications (VBA)-makro som undertrykker meldingen Lagre endringer når du lukker en arbeidsbok. Dette kan gjøres enten ved å angi statusen for den lagrede egenskapen for arbeidsboken, eller ved å undertrykke alle varsler for arbeidsboken.
Mer informasjon
OBS! Microsoft tilbyr programmeringseksempler bare for illustrasjon, uten garanti enten uttrykt eller underforstått. Dette omfatter, men er ikke begrenset til, de underforståtte garantiene om salgbarhet eller egnethet for et bestemt formål. Denne artikkelen antar at du er kjent med programmeringsspråket som demonstreres, og med verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsofts kundestøtteteknikere kan bidra til å forklare funksjonaliteten til en bestemt fremgangsmåte. De vil imidlertid ikke endre disse eksemplene for å gi ekstra funksjonalitet eller konstruere fremgangsmåter for å oppfylle dine spesifikke krav. Hvis du vil forberede deg på å implementere et av eksemplene nedenfor, utfører du disse trinnene først:
-
Start Excel og åpne en ny arbeidsbok.
-
Trykk på ALT+F11 for å starte redigeringsprogrammet for Visual Basic.
-
Klikk Modul på Sett inn-menyen.
-
Skriv inn eksempelmakrokoden i modularket.
-
Trykk på ALT+F11 for å gå tilbake til Excel.
-
Velg Makro fra Verktøy-menyen i Microsoft Office Excel 2003 og i tidligere versjoner av Excel, og klikk deretter Makroer.Klikk Makroer i Kode-gruppen i kategorien Utvikler i Microsoft Office Excel 2007. Hvis Utvikler-fanen ikke er tilgjengelig, kan du vurdere å gjøre dette: en. Klikk Microsoft Office-knappen , og klikk deretter Alternativer for Excel.b. Klikk for å velge Vis under Populære alternativer for å arbeide med Excel i populærkategorien Utvikler-fanen i avmerkingsboksen på båndet, og klikk deretter OK.
-
Merk makroen du vil bruke, og klikk deretter Kjør.
Lagre-egenskapen returnerer verdien Usann hvis det er gjort endringer i en arbeidsbok siden sist den ble lagret.Du kan bruke det reserverte underrutinenavnet Auto_Close til å angi en makro som skal kjøre når en arbeidsbok lukkes. Når du gjør dette, kan du kontrollere hvordan dokumentet håndteres når brukeren lukker dokumentene i Excel.
Eksempel 1: Lukk arbeidsboken uten å lagre endringer
Hvis du vil tvinge en arbeidsbok til å lukke uten å lagre endringer, skriver du inn følgende kode i en Visual Basic-modul i arbeidsboken:
Sub Auto_Close()
ThisWorkbook.Saved = True
End Sub
Når Lagre-egenskapen er satt til Sann, reagerer Excel som om arbeidsboken allerede er lagret, og det har ikke oppstått noen endringer siden forrige lagring.DisplayAlerts-egenskapen for programmet kan brukes til samme formål. Følgende makro slår for eksempel DisplayAlerts av, lukker den aktive arbeidsboken uten å lagre endringer, og slår deretter DisplayAlerts på igjen.
Sub CloseBook()
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
Du kan også bruke SaveChanges-argumentet for Lukk-metoden.Følgende makro lukker arbeidsboken uten å lagre endringer:
Sub CloseBook2()
ActiveWorkbook.Close savechanges:=False
End Sub
Eksempel 2: Lukk arbeidsboken og lagre endringene
Hvis du vil tvinge en arbeidsbok til å lagre endringer, skriver du inn følgende kode i en Visual Basic-modul i arbeidsboken:
Sub Auto_Close()
Hvis ThisWorkbook.Saved = False then
ThisWorkbook.Save End If
End Sub
Denne delprosesskontrollen kontrollerer om filens lagrede egenskap er satt til Usann. I så fall har arbeidsboken blitt endret siden forrige lagring, og disse endringene lagres.