Cursos subvencionados para trabajadores
Realiza el curso gratis a través de tu empresa.
Cursos SubvencionadosTu portal de
formación online
United States
En el primer ejemplo suponemos que el proyecto tiene un formulario llamado Form1. El código añade el formulario a una colección, luego usa la colección para referenciar el formulario y cambiar su título:
Dim C As New Collection
Dim F As Form
Set F = Form1
C.Add F, "Mi formulario"
C.Item("Mi formulario").Caption = "Nuevo título"
El siguiente código añade un array a una colección y luego la utiliza para acceder a los datos del array, sumando los contenidos de los elementos 1 y 2:
Dim A(100) As Long, Total As Long
Dim C As New Collection
C.Add A, "vector"
Total = C("vector")(1) + C("vector")(2)
Notar que como Item es la propiedad por defecto de un objeto Collection. Cuando nos referimos a un objeto sólo por el nombre, obtenemos automáticamente la propiedad por defecto. Es decir:
C("vector")(2)
es lo mismo que:
C.Item("vector") (2)
La última forma de utilizar un objeto Collection es pasar por todos sus miembros utilizando la sentencia For Each ... Next. Funciona así (supongamos que C es la colección):
Supongamos que la colección C contiene un grupo de objetos Text Box. El siguiente código muestra los contenidos de todos los objetos Text Box en la ventana inmediata:
Dim objeto As Variant
For Each objeto in C
Debug.Print objeto.Text
Next
La sentencia For Each ... Next no es tan útil cuando la colección contiene objetos de tipos diferentes. Esto es así porque no podemos estar seguros de que los métodos o propiedades de los objetos llamados en el bucle son admitidos por todos los miembros de la colección. En el código anterior, por ejemplo, si C contenía un objeto Label junto con los objetos Text Box, se produciría un error, porque un objeto Label carece de la propiedad Text.
Vamos a ver como podríamos utilizar esto en un proyecto. En un formulario insertamos 5 TextBox, y un botón de comando. El objetivo es añadir 4 de los 5 TextBox a una colección y ver como cuando pulsemos el botón, se vacía el contenido de los incluidos en la colección.
El código contendrá además de las declaraciones, las instrucciones para añadir los cuatro primeros TextBox a la colección. Para borrar el contenido, bastará con vaciar la propiedad Text.

Entre bastidores, Visual Basic y el sistema operativo Windows mantienen determinadas colecciones que pueden ser extremadamente útiles para los programadores. Las colecciones internas son en cierto sentido parecidas a la clase Collection. Se diferencian en que no tienen métodos y sólo una propiedad, Count. Si pensamos en ello, esto tiene sentido. Como las colecciones son mantenidas por Visual Basic, el programador no necesita añadir o eliminar miembros, y, de hecho, hacerlo ocasionaría muchos problemas. También se diferencian en que están basadas en 0, teniendo los miembros índices que van de 0 a Count-1. Considerar las siguientes colecciones:
Generalmente utilizaremos las colecciones Forms y Controls con la sentencia For Each ... Next para acceder a cada formulario del proyecto o control de un formulario.
Copyright 2012© ADR Infor S.L. | Tel.: +34 941 250 116 · Fax: +34 941 236 805 · skype: adrformacion.com
Email |
Política de Privacidad |
Aviso Legal |
Área Privada