Yhteenveto
Microsoft Excelissä voit luoda Microsoft Visual Basic for Applications (VBA) -makron, joka estää Tallenna muutokset -kehotteen, kun suljet työkirjan. Tämä voidaan tehdä joko määrittämällä työkirjan Tallennetun ominaisuuden tila tai estämällä kaikki työkirjan ilmoitukset.
Lisätietoja
HUOMAUTUS: Microsoft tarjoaa ohjelmointiesimerkkejä vain havainnollistamista varten ilman ilmaistua tai oletettua takuuta. Tämä sisältää muun muassa oletetut takuut soveltuvuudesta kaupankäynnin kohteeksi tai sopivuudesta tiettyyn tarkoitukseen. Tässä artikkelissa oletetaan, että tunnet ohjelmointikielen, jota esitellään, sekä työkalut, joita käytetään toimintosarjojen luomiseen ja virheenkorjaukseen. Microsoftin tukihenkilöt voivat auttaa selittämään tietyn toimintosarjan toiminnallisuuden. He eivät kuitenkaan muokkaa näitä esimerkkejä tarjotakseen lisätoimintoja tai luodakseen toimintosarjoja, jotka vastaavat tarpeitasi.
Voit valmistautua jommankumman alla olevan esimerkin käyttöönottoon suorittamalla ensin seuraavat vaiheet:-
Käynnistä Excel ja avaa uusi työkirja.
-
Käynnistä Visual Basic -editori painamalla ALT+F11.
-
Valitse Lisää-valikossaModuuli.
-
Kirjoita mallimakrokoodi moduulitaulukkoon.
-
Palaa Exceliin painamalla ALT+F11.
-
Valitse Microsoft Office Excel 2003:ssa ja Excelin aiemmissa versioissa Työkalut-valikostaMakro ja valitse sitten Makrot.
Valitse Microsoft Office Excel 2007:ssä Kehitystyökalut-välilehdenKoodi-ryhmästäMakrot. Jos Kehitystyökalut-välilehti ei ole käytettävissä, tee näin: a. Napsauta Microsoft Office - painiketta ja valitse sitten Excelin asetukset. b. Valitse Suositut-luokanExcelin käsittelemisen parhaat asetukset -kohdassa Näytä Valintanauhan Kehitystyökalut-välilehti ja valitse sitten OK. -
Valitse haluamasi makro ja valitse sitten Suorita.
Tallennettu-ominaisuus palauttaa arvon Epätosi, jos työkirjaan on tehty muutoksia sen edellisen tallennuksen jälkeen.Auto_Close avulla makron, joka suoritetaan aina, kun työkirja suljetaan. Näin voit hallita sitä, miten asiakirjaa käsitellään, kun käyttäjä sulkee asiakirjat Excelissä.
Voit määrittää varatun alirutiinin nimenEsimerkki 1: Sulje työkirja tallentamatta muutoksia
Voit pakottaa työkirjan sulkeutumaan tallentamatta muutoksia kirjoittamalla seuraavan koodin työkirjan Visual Basic -moduuliin:
Ali Auto_Close()
ThisWorkbook.Saved = True
End Sub
Kun Tallennetun ominaisuuden arvoksi on määritetty Tosi, Excel vastaa ikään kuin työkirja olisi jo tallennettu eikä muutoksia ole tehty edellisen tallennuksen jälkeen.
Ohjelman DisplayAlerts-ominaisuutta voi käyttää samaan tarkoitukseen. Esimerkiksi seuraava makro poistaa DisplayAlertsin käytöstä, sulkee aktiivisen työkirjan tallentamatta muutoksia ja ottaa sitten DisplayAlertsin uudelleen käyttöön.Sub CloseBook()
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
Voit käyttää myös Sulje-menetelmän SaveChanges-argumenttia.
Seuraava makro sulkee työkirjan tallentamatta muutoksia:Sub CloseBook2()
ActiveWorkbook.Close savechanges:=False
End Sub
Esimerkki 2: Sulje työkirja ja tallenna muutokset
Voit pakottaa työkirjan tallentamaan muutokset kirjoittamalla seuraavan koodin työkirjan Visual Basic -moduuliin:
Ali Auto_Close()
If ThisWorkbook.Saved = False Then
ThisWorkbook.Save End If
End Sub
Tämä aliprosessi tarkistaa, onko Tallennettu-ominaisuuden arvoksi määritetty Epätosi. Jos näin on, työkirjaa on muutettu edellisen tallennuksen jälkeen, ja muutokset tallennetaan.