En VBA una clase es algo tan sencillo como un procedimiento, que contiene
datos para manejarlos, y con el que se puede crear objetos.
Para crear una clase primero debemos crearnos un módulo de clase, desde
el menú insertar seleccionamos la opción Modulo de clase.
Los
módulos de clase presentan dos eventos:
- Initialize: ocurre cuando se crea una instancia de una clase. Se usa, generalmente para inicializar cualquier dato usado por la instancia de una clase en el código.
- Terminate: ocurre cuando toda referencia a una instancia de una clase son removidas de memoria al establecer todas las variables que la refieren a un objeto a Nothing o cuando la última referencia al el objeto se encuentra fuera de alcance.
En
el siguiente ejemplo creamos un módulo
de clase donde declaramos públicamente las variables que utilizaremos en
un módulo diferente y crearemos una función que nos devolverá en un mensaje el
nombre completo de un supuesto empleado que estamos dando de alta.
Código
del Módulo de Clase:
Option Explicit
Public Nombre As String
Public Apellido1 As
String
Public Apellido2 As
String
Public Direccion As
String
Public Provincia As
String
Public Function
NombreCompleto() As String
NombreCompleto =
Apellido1 & " " & Apellido2 & " " & Nombre
End Function
Código
del Módulo:
Sub prueba_clase()
Dim empleado As New
Clase1
With empleado
.Nombre = InputBox("Nombre:
")
.Apellido1 = InputBox("Primer
Apellido: ")
.Apellido2 = InputBox("Segundo
Apellido: ")
.Direccion = InputBox("Dirección: ")
.Provincia = InputBox("Provincia:
")
MsgBox "Empleado: " &
.NombreCompleto
End With
End Sub
Al
utilizar New en la variable empleado
se crea una nueva instancia del objeto como primera referencia, de forma que no
tenemos que utilizar la instrucción Set para asignar la referencia del
objeto.
Como
vemos en la imagen la variable empleado
nos muestra todas las propiedades y métodos creados en el módulo de clase.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.