Ampliando VBA – Creando nuevos objetos con módulos de clase

Estándar

Con la introducción de Visual Basic 4, Microsoft brindo a los programadores una nueva herramienta:  “Módulos de clase”, los cuales dan la habilidad al programador de crear y manipular sus propios objetos de clase.

Si se tiene experiencia en lenguajes orientados a objetos como C++, SmallTalk se estará familiarizado con los beneficios de esta metodología. Si no, espero que el ejemplo proporcionado para este tema los sorprenda con el poder que brindan los módulos de clase al programador.

Con los módulos de clase podemos implementar estructuras de datos tales como listas enlazadas o hacer abstracciones de las funciones de la API de Windows.

Como saben soy fan de Python y Ruby, entonces haciendo uso de los módulos de clase, porque no crear objetos como los que disponen estos lenguajes y tenerlos disponibles en VBA/Excel, los cuales ahorran gran cantidad de tiempo al programador para el procesamiento de datos.

Este no es un tutorial de cómo crear clases en VBA (hay muchos tutoriales y libros en la web) sino más bien pondré al alcance de los interesados algunos módulos que iré desarrollando para facilitar nuestra vida como programadores VBA/Excel, así mismo estoy abierto a comentarios y sugerencias para poder crear clases de la mejor forma, entre mas ideas, mejor…

Si alguien está interesado en profundizar en este, les recomiendo el siguiente libro, el cual es un excelente libro que no puede faltar en la biblioteca personal de todo programador de VBA/Excel, este es el link (lo único mal es que esta en ingles):

VBA Developer’s Handbook, Second Edition

Y aquí está mi nuevo objeto (clsStr) quiero emular un objeto de la clase String como los que proporciona Ruby o Python, les dejo el enlace:

clsStr

Nota: esta clase no está finalizada, sino que iré agregando nuevas propiedades y métodos al mismo.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s