![](https://excelatumedida.com/wp-content/uploads/2024/01/¿Como-usar-la-instruccion-Property-Let-en-VBA-1024x576.png)
Contenido
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.
' 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:
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.