Application.DisplayAlerts
En Visual Basic tienes la posibilidad no solo de automatizar tareas repetitivas como fue el ejemplo de la semana pasada. Además de estas funciones, el VBA te permite modificar propiedades del programa Excel. Puedes modificar la barra de herramientas, crear o quitar botones, hasta suprimir el cuadro de mensaje que aparece cuando cierras una ventana y te pide si "Guardar los cambios o no".
Esta último ejemplo es el que se desarrollará en esta oportunidad. El Application.DisplayAlerts modifica si el aviso de mensaje aparece o no. Es decir, permite eliminar la visualización de mensajes en excel. Solo admite dos tipos de valores, "=True" o "=False". Excel tiene predeterminado el "=True" pero si se escoge "=False", este hará que se eliminen todos los messagebox que puedan aparecer.
Este es el código que se utilizo para el ejemplo del excel adjunto.
Sub closebook()
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
Este código permite que el libro donde se esta trabajando se cierre sin guardar cambios, sin notificar ningún aviso de "guardar cambios". Esto sirve para controlar el abre y cierre de archivos en un examen. Por ejemplo, el profesor puede pedir que se guarde el examen cada 5 minutos por medio del botón de la barra de herramientas, como esta indicación es parte del examen deben seguirla. Sin embargo, los alumnos pueden omitir este paso y cerrar desde el botón "X" del programa asumiendo que va a salir un el Message Box de "Guardar Cambios" pero previamente el docente ha podido modificar el excel con una macro como la anterior protegida con contraseña para que los alumnos no se den cuenta y de esta forma poner un obstáculo más que sirve como medio de evaluación.
En el excel se pueden hacer los cambios que se deseen, cerrar el programa de manera manual o ejecutando la macro y los cambios no se guardarán ni se notificara para lo mismo.
Por: Alejandro Contreras Zurita.
14/01/2014 a las 6:28 pm
ES INCRÍBLE EXCEL
10/11/2015 a las 12:03 pm
En una macro y abrir un fichero que requiere una contraseña me gustaría saber que código debo escribir para se pueda contestar el display con la pregunta de la contraseña. Gracias
22/11/2016 a las 11:25 am
Buenas tengo una macro que funcionaba hasta ahora perfectamente. No he cambiado ni de Windows ni versión de excel.
Ahora al ejecutarla, me da "Error de Automatización. Ocurrio una excepcion".
Al inicio de la macro tengo puesto:
Application.ScreenUpdating = False
Application.DisplayAlerts = False
para evitar tiempo, parpadeos y mensajes al cerrar files de excel.
Como he dicho la macro funcionaba perfectamente y ahora no.
he observado que si elimnio: Application.DisplayAlerts = False, la macro se ejecuta perfectamente, solo que tengo que estar delante del PC para contestar los dialogos de cierre de files de excel.
No sé porque pasa esto, si antes no pasaba.
16/10/2020 a las 1:20 pm
Todo muy hermoso en su página, mis respetos.
21/08/2023 a las 10:03 am
Cuando programo en la empresa donde trabajo al guardar mediante código de vba, manda un cuadro de dialogo que interrumpe la ejecución del código el mensaje de dialogo indica que aplique una categoría de confidencialidad al documento como puedo evitar este msj para que mi código se ejecute sin complicaciones. ya lo he intentado con:
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Muchas felicidades por tu trabajo merece admiración y respeto por llegar tan lejos
saludos,
18/01/2024 a las 8:30 pm
Buena tarde, actualmente la empresa a implementado unos Lebel para clasificar el tipo de información. "Agregar etiqueta de confidencialidad" cosa que esta linea de codigo Application.DisplayAlerts = False no sirve para este proceso podrian ayudarme por favor