El código que escriba en un proyecto de Visual Basic aparecerá siempre en un módulo. Un módulo es un archivo de proyecto, pudiendo ser un módulo de formulario, de clase o de carácter general. Comprender cómo organizar estas estructuras es fundamental para crear aplicaciones eficientes y escalables.
Tipos de módulos en Visual Basic
Las versiones anteriores de Visual Basic reconocen dos tipos principales de módulos: los módulos de clase (archivos .cls) y los módulos estándar (archivos .bas).
- Módulos estándar: Son como una caja de herramientas central. El código de carácter general, o aquel que puede compartirse en más de un proyecto, se sitúa en un módulo general. Los módulos estándar no admiten la herencia ni implementan interfaces.
- Módulos de Clase: Permiten la creación de objetos personalizados. Cuando creas un nuevo objeto de esta manera, estás creando un bloque de construcción que puede ser utilizado en cualquier lugar dentro de VBA. Las clases están orientadas a objetos, por lo que se pueden crear instancias de ellas como objetos.
Cómo declarar módulos y miembros
Para crear un repositorio, necesita insertar un nuevo módulo de clase mediante la opción Insertar | Módulo de Clase en el menú del Editor de Visual Basic (VBE). Dentro de cualquier módulo, el programador dispone de una sección especial llamada General, donde se sitúan las declaraciones de constantes, variables y tipos de datos.
Reglas de declaración
Al declarar variables, normalmente se utiliza una instrucción Dim. Si no se especifica un tipo de datos, el tipo Variant se asigna de forma predeterminada, aunque la aplicación será más eficaz si se declaran las variables explícitamente y con un tipo de datos específico.
| Tipo de declaración | Ámbito / Descripción |
|---|---|
| Dim | Crea una variable de nivel de procedimiento. |
| Public | Las variables públicas pueden usarse en cualquier procedimiento del proyecto. |
| Private | Restringe el acceso a la variable para que no pueda ser vista fuera del módulo. |
| Option Explicit | Requiere declarar explícitamente todas las variables en el módulo. |
Diferencias clave entre Módulos y Clases
Es importante distinguir sus capacidades para utilizarlos correctamente:
Lea también: IVA 21% Excel
- Instanciación: Cada módulo estándar tiene exactamente una instancia y no es necesario crear ni asignarse a una variable. Por el contrario, solo se pueden crear instancias de clases como objetos.
- Modificadores: Todos los miembros de un módulo estándar son compartidos implícitamente.
- Herencia: Un módulo no puede heredar de ningún tipo distinto a Object.
Buenas prácticas en la programación con módulos
Para asegurar que su código sea legible y mantenible, considere las siguientes recomendaciones:
- Calificación: Puede tener varios módulos en un proyecto y declarar miembros con el mismo nombre. Sin embargo, debe calificar cualquier referencia a dicho miembro con el nombre de módulo adecuado si la referencia está fuera de ese módulo.
- Modularidad: Si los formularios son habitaciones específicas de una casa, los módulos estándar actúan como una caja de herramientas central. Esto permite que los procedimientos no estén ligados a un formulario específico.
- Documentación: Es conveniente añadir comentarios a las líneas de código que escribas; de esta forma podrás entender los programas aunque haga tiempo que los escribiste.
- Comunicación: Los procedimientos pueden tener parámetros, especificados entre paréntesis, que le permiten comunicar al procedimiento alguna información que necesite o que sea el propio procedimiento quien devuelva algún valor.
Lea también: Guía IVA reducido
Lea también: ¿Cómo localizar tus XML del SAT?
