¿Cómo usar la instrucción Property Let en VBA?

En VBA (Visual Basic for Applications), la instrucción Property Let se usa para crear una propiedad en una clase que asigna (o «let») un valor a una variable privada dentro de esa clase. Esto permite encapsular datos y controlar cómo se asignan los valores a las variables internas del objeto.

Para utilizar Property Let, debes tener una clase personalizada en tu proyecto de VBA.

  • Defina la Clase: Primero, necesitas definir una clase personalizada en tu editor de VBA. Puedes hacerlo agregando un nuevo módulo de clase a tu proyecto.
  • Cree una variable privada: Dentro de tu clase, define una variable privada que almacene el valor que deseas exponer a través de tu propiedad.
  • Use Property Let para asignar el valor: Define un procedimiento Property Let para asignar un valor a la variable privada.
VBA

' Define la clase personalizada
Class MyClass
    ' Variable privada para almacenar el valor de la propiedad
    Private m_MyProperty As String
    
    ' Procedimiento Property Let para asignar un valor a la propiedad
    Public Property Let MyProperty(value As String)
        m_MyProperty = value
    End Property
    
    ' Opcional: Property Get para recuperar el valor de la propiedad
    Public Property Get MyProperty() As String
        MyProperty = m_MyProperty
    End Property
End Class

En este ejemplo, MyProperty es una propiedad que puedes leer y escribir desde fuera de la clase. La sección Property Let asigna un nuevo valor a la variable privada m_MyProperty, mientras que Property Get te permite leer el valor de m_MyProperty.

Utiliza la propiedad en tu código: Una vez definida la clase y la propiedad, puedes crear una instancia de la clase y usar la propiedad como se muestra a continuación:

VBA

Sub TestMyClass()
    ' Crear una nueva instancia de MyClass
    Dim obj As New MyClass
    
    ' Asignar un valor a la propiedad utilizando 'Property Let'
    obj.MyProperty = "Hola Mundo"
    
    ' Opcional: Leer el valor de la propiedad utilizando 'Property Get'
    MsgBox obj.MyProperty
End Sub

En este caso, la asignación obj.MyProperty = «Hola Mundo» llama al procedimiento Property Let de la clase MyClass y establece el valor de m_MyProperty. Luego puedes recuperar el valor con Property Get para mostrarlo en un cuadro de mensaje.

Es importante notar que Property Let se usa para definir propiedades que se asignarán valores que NO son objetos. Para propiedades que van a asignar un objeto, utilizarías Property Set en lugar de Property Let.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

¡Únete a nuestro Grupo de Facebook!

Deja un comentario