Resumen
En Microsoft Excel, puede crear una macro de Microsoft Visual Basic para Aplicaciones (VBA) que suprima el mensaje Guardar cambios al cerrar un libro. Esto puede hacerse especificando el estado de la propiedad Saved del libro o suprimiendo todas las alertas del libro.
Más información
NOTA: Microsoft proporciona ejemplos de programación solo para ilustración, sin garantía expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad o idoneidad para un propósito determinado. En este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se usan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden ayudar a explicar la funcionalidad de un procedimiento determinado. Sin embargo, no modificarán estos ejemplos para proporcionar funcionalidad adicional o construir procedimientos para satisfacer sus requisitos específicos.
Para preparar la implementación de cualquiera de los ejemplos siguientes, realice primero estos pasos:-
Inicie Excel y abra un libro nuevo.
-
Presione ALT+F11 para iniciar el editor de Visual Basic.
-
En el menú Insertar, haga clic en Módulo.
-
Escriba el código de la macro de ejemplo en la hoja de módulo.
-
Presione ALT+F11 para volver a Excel.
-
En Microsoft Office Excel 2003 y en versiones anteriores de Excel, elija Macro en el menú Herramientas y, después, haga clic en Macros.
En Microsoft Office Excel 2007, haga clic en Macros en el grupo Código de la pestaña Programador. Si la pestaña Desarrollador no está disponible, considere la posibilidad de hacerlo: un. Haga clic en el botón Microsoft Office y, a continuación, haga clic en Opciones de Excel. b. En la categoría Populares, en Opciones principales para trabajar con Excel, haga clic para seleccionar la opción Mostrar Pestaña Programador en la casilla cinta de opciones y, a continuación, haga clic en Aceptar. -
Seleccione la macro que quiera usar y haga clic en Ejecutar.
La propiedad Saved devuelve el valor False si se han realizado cambios en un libro desde que se guardó por última vez.Auto_Close para especificar una macro que se ejecute siempre que se cierre un libro. Al hacerlo, puede controlar cómo se controla el documento cuando el usuario cierra los documentos en Excel.
Puede usar el nombre de subrutina reservadaEjemplo 1: Cerrar el libro sin guardar los cambios
Para forzar el cierre de un libro sin guardar los cambios, escriba el código siguiente en un módulo de Visual Basic de ese libro:
Sub Auto_Close()
ThisWorkbook.Saved = True
End Sub
Cuando la propiedad Guardado se establece en True, Excel responde como si el libro ya se hubiera guardado y no se hubieran producido cambios desde la última vez que guardó el libro.
La propiedad DisplayAlerts del programa se puede utilizar para el mismo propósito. Por ejemplo, la macro siguiente desactiva la propiedad DisplayAlerts, cierra el libro activo sin guardar los cambios y, luego, vuelve a activar DisplayAlerts.Sub CloseBook()
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
También puede usar el argumento SaveChanges del método Close.
La siguiente macro cierra el libro sin guardar los cambios:Sub CloseBook2()
ActiveWorkbook.Close savechanges:=False
End Sub
Ejemplo 2: Cerrar el libro y guardar los cambios
Para forzar que se cambien los cambios en un libro, escriba el código siguiente en un módulo de Visual Basic de ese libro:
Sub Auto_Close()
If ThisWorkbook.Saved = False Then
ThisWorkbook.Save End If
End Sub
Este subprocedido comprueba si la propiedad Guardada del archivo se ha establecido en False. Si es así, el libro cambió desde la última vez que se guardó y esos cambios se guardan.