viernes, 31 de octubre de 2014

Métodos del Objeto Application en VBA

Cuando trabajamos con Visual Basic for Application (mas conocido como Macros, en el mundo del hampa) el objeto Application, se refiere al Excel en si mismo.

Con el objeto Application, podemos usar una serie de métodos y propiedades para variar el comportamiento de Excel durante la ejecución de nuestras macros y formularios.

De todos los métodos y propiedades, vamos a quedarnos, de momento, con:

Metodo Quit: Cierra todos los libros y cierra Excel.
Application.Quit
Si existen libros sin guardar, nos avisará de si queremos guardalos, sin embargo la sentencia DisplayAlerts puede evitar estos mensajes.

Propiedad DisplayAlerts: Permite eliminar la visualización de mensajes de Excel. Admite los valores True/False.
Application.DisplayAlerts = True
...
Application.DisplayAlerts = False
Con el valor a False se eliminarán todos los mensajes. El valor por defecto es True.

Propiedad ScreenUpdating: Permite eliminar la actualización de pantalla. Admite los valores True/False.
Application.ScreenUpdating = True
...
Application.ScreenUpdating = False
Con el valor a False evitaremos la actualización de pantalla. Se aconseja poner la propiedad en False para mejorar el rendimiento y eliminar el parpadeo de la pantalla durante la ejecución. El valor por defecto es True.

Propiedad Visible: Permite eliminar la visualización de Excel. Admite los valores True/False.
Application.Visible = True
...
Application.Visible = False
Con el valor a False evitaremos la visualización de Excel. Se aconseja usar esta propiedad solamente con formularios. Colocarla en False en el evento Initialize , y ponerlo a True en el evento Terminate, ambos en el formulario. El valor por defecto es True.

Propiedad EnableEvents: Permite eliminar los eventos de hoja y libro. Admite los valores True/False.
Application.EnableEvents = True
...
Application.EnableEvents = False
Con el valor a False evitaremos la ejecución los eventos de hoja y libro. No afecta a los controles en los formularios ni en las hojas. Permanece con el valor True/False hasta que no se cambia.

Espero que les sirva esta publicación.

Saludos

Ing. Enrique Neciosup Morales