Összegzés
A Microsoft Excel programban létrehozhat egy olyan Microsoft Visual Basic for Applications (VBA) makrót, amely a munkafüzetek bezárásakor letiltja a változtatások mentésére vonatkozó kérdést. Ezt megteheti a munkafüzet állapotának beállításával ( Mentve ) tulajdonság vagy a munkafüzet összes riasztásának mellőzésével.
További információ
MEGJEGYZÉS: A Microsoft csak illusztrációs céllal ad közre programozási példákat, kifejezett vagy vélelmezett garancia nélkül. Ez magában foglalja, de nem kizárólagosan a forgalmazhatóságra vagy az adott célra való alkalmasságra vonatkozó vélelmezett garanciát. Ez a cikk feltételezi, hogy ismeri a bemutatott programozási nyelvet, valamint az eljárások létrehozásához és hibakereséséhez használt eszközöket. A Microsoft támogatási szakemberei segíthetnek elmagyarázni egy adott eljárás működését. Azonban nem módosítják ezeket a példákat, hogy további funkciókat biztosítsanak, és nem építenek ki eljárásokat kifejezetten az Ön igényeire.
Az alábbi példák megvalósításának előkészítéséhez először hajtsa végre az alábbi lépéseket:
Indítsa el az Excelt, és nyisson meg egy új munkafüzetet.
Nyomja le az ALT+F11 billentyűkombinációt a Visual Basic szerkesztő elindításához.
A Beszúrás menüben kattintson a Modul parancsra.
Írja be a mintamakrókódot a modullapra.
Az Excelbe való visszatéréshez nyomja le az ALT+F11 billentyűkombinációt.
A Microsoft Office Excel 2003-ban és az Excel korábbi verzióiban válassza az Eszközök menü Makró elemét, majd kattintson a Makrók parancsra.
A Microsoft Office Excel 2007-ben kattintson a Fejlesztőeszközöklap Kód csoportjának Makrók gombjára.
Ha a Fejlesztőeszközök lap nem érhető el, próbálkozzon a következővel:
a. Kattintson a Microsoft Office gombra, majd Az Excel beállításai parancsra.
b. A Népszerű kategória Alapvető beállítások az Excel használatához területén kattintással válassza a Megjelenítés lehetőséget .
A menüszalag Fejlesztőeszközök lapján jelölje be a jelölőnégyzetet, majd kattintson az OK gombra.Jelölje ki a kívánt makrót, majd kattintson a Futtatás gombra.
A Saved tulajdonság a Hamis értéket adja vissza, ha a legutóbbi mentés óta módosított egy munkafüzetet.
A fenntartott szubrutin névvel Auto_Close megadhatja azt a makrót, amely a munkafüzetek bezárásakor fut. Ezzel szabályozhatja, hogy a program hogyan kezelje a dokumentumot, amikor a felhasználó bezárja a dokumentumokat az Excelben.
1. példa: A munkafüzet bezárása a módosítások mentése nélkül
Ha kényszeríteni szeretné egy munkafüzet módosítások mentése nélküli bezárását, írja be az alábbi kódot az adott munkafüzet valamelyik Visual Basic moduljába:
Sub Auto_Close()
ThisWorkbook.Saved = True
End Sub
Ha a Saved tulajdonság értéke Igaz, az Excel úgy válaszol, mintha a munkafüzetet már mentette volna, és nem történt módosítás az utolsó mentés óta.
A program DisplayAlerts tulajdonsága ugyanerre a célra használható. A következő makró például kikapcsolja a Figyelmeztetések megjelenítését , bezárja az aktív munkafüzetet a módosítások mentése nélkül, majd ismét bekapcsolja a Figyelmeztetések megjelenítését .
Sub CloseBook()
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
Használhatja a Bezárásmetódus SaveChanges argumentumát is.
A következő makró a módosítások mentése nélkül bezárja a munkafüzetet:
Sub CloseBook2()
ActiveWorkbook.Close savechanges:=False
End Sub
2. példa: A munkafüzet bezárása és a módosítások mentése
A módosítások mentésének kényszerítéséhez írja be a következő kódot a munkafüzet valamelyik Visual Basic moduljába:
Sub Auto_Close()
Ha ezThisWorkbook.Saved = hamis, akkor
ThisWorkbook.Save End If
End Sub
Ez az eljárással ellenőrizheti, hogy a fájl Saved tulajdonsága False (Hamis) értékre van-e állítva. Ha igen, akkor a munkafüzet módosult az utolsó mentés óta, és a módosítások is mentve lesznek.