Friend keyword

Modifica la definición de un procedimiento en un módulo de formulario o módulo de clase para que se pueda llamar al procedimiento desde módulos que están fuera de la clase, pero que son parte del proyecto dentro del cual se define la clase. Los procedimientos Friend no se pueden usar en módulos estándar.

Sintaxis

[ Private | Friend | Public ] [ Static ] [ Sub | Function | Property ] procedurename

El valor procedurename requerido es el nombre del procedimiento que se hará visible a través del proyecto pero no será visible para los controladores de la clase.

Comentarios

Se puede llamar a los procedimientos Public de una clase desde cualquier parte, incluso desde los controladores de instancias de la clase. Al declarar un procedimiento como Private, se impide que los controladores del objeto llamen al procedimiento pero también se impide que se llame al procedimiento desde dentro del proyecto en el que la propia clase se define.

Friend hace el procedimiento visible a través del proyecto pero no para un controlador de una instancia del objeto. Friend solo puede aparecer en módulos de formulario y módulos de clase, y solo puede modificar nombres de procedimiento, no variables o tipos. Los procedimientos de una clase pueden tener acceso a procedimientos Friend de las demás clases de un proyecto. Los procedimientos Friend no aparecen en la biblioteca de tipos de su clase. Un procedimiento Friend no puede ser enlazado en tiempo de ejecución.

Ejemplo:

Cuando se coloca en un módulo de clase, el siguiente código hace accesible la variable de miembro dblBalance para todos los usuarios de la clase dentro del proyecto. Cualquier usuario de la clase puede obtener el valor; solo el código dentro del proyecto puede asignar un valor a esa variable.

Private dblBalance As Double 
 
Public Property Get Balance() As Double 
 Balance = dblBalance 
End Property 
 
Friend Property Let Balance(dblNewBalance As Double) 
 dblBalance = dblNewBalance 
End Property 

Consulte también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.