Unidad 3. Lenguaje Visual Basic de Aplicaciones (VBA) (II)



Eventos

Un evento es el resultado de una acción, es la forma cómo queda el objeto después de alguna acción sobre él. Por lo general estas acciones son producidas por los métodos que actúan sobre el objeto.

Excel incluye varios controladores de eventos, o rutinas de código, que controlan acciones determinadas. Cuando ocurre una de dichas acciones, y ha comunicado a Excel qué desea que haga cuando ocurra el evento, Excel ejecuta el código del controlador de eventos. Por ejemplo, si después de crear un nuevo libro desea que Excel muestre todos los libros abiertos como un conjunto de ventanas en cascada, puede crear el siguiente controlador de eventos:

Private Sub App_NewWorkbook(ByVal Wb As Workbook)

   Application.Windows.Arrange xlArrangeStyleCascade

End Sub

Nota

No se preocupe si no está seguro de qué hace cada uno de los elementos de la rutina del controlador de eventos. Por ahora, concéntrese en la línea del medio del código, que comunica a Excel que organice las ventanas utilizando el estilo de cascada. Puede obtener el mismo resultado utilizando los comandos de menú de Excel (menú Ventana, comando Organizar, sub comando Cascada). Sin embargo, si se trata de una acción que desea que se ejecute cada vez que ocurra un evento determinado, puede utilizar el lenguaje VBA para que se ejecute automáticamente  y así ahorrarse el trabajo.

Colecciones

El Una colección es un grupo o conjunto de objetos contenidos en otro objeto cuyas propiedades son comunes a los objetos componentes.

Puesto que un libro contiene una o más hojas de cálculo, podemos decir que un libro es una colección de hojas de cálculo. Así las cosas, podemos ejecutar algún método sobre esta colección a fin de realizar la misma acción sobre todas ellas. Por ejemplo, seleccionar tres hojas y darle un determinado formato.

En el siguiente ejemplo, se ha programado la opción de imprimir la ruta donde se encuentra el archivo. Como se puede ver (o lo podrá comprender cuando desarrollemos la instrucción FOR …NEXT), la operación de añadir la dirección se realiza sobre tres hojas del libro.

For i = 1 to 3

   Worksheets(i).PageSetup.RightFooter = Path

Next i

En el siguiente ejemplo se realiza sobre la colección de hojas del libro.

For Each Wksht in Worksheets

    Wksht.PageSetup.RightFooter = Path

Next Wksht

En vez de incrementar el valor en un bucle For…Next, el bucle For Each…Next busca simplemente el siguiente elemento de la colección Worksheets (hojas de cálculo) y se detiene cuando no encuentra uno.

Noviembre-2010
Pág. 3.2

Atrás  Inicio  Adelante





Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies