Поделиться через


Ключевое слово Friend

Изменяет определение процедуры в модуле формы или модуле класса, чтобы сделать возможным вызов процедуры из модулей, не входящих в класс, но являющихся частью проекта внутри которого определен данный класс. Процедуры Friend не могут использоваться в стандартных модулях.

Синтаксис

[ Частный | Друг | Public ] [ Static ] [ Sub | Функции | Свойство ] имя_процедуры

Обязательный элемент procedurename является именем процедуры, которую требуется сделать видимой во всем проекте, но невидимой для контроллеров класса.

Замечания

Процедуры Public в классе могут вызываться из любого места, даже контроллерами экземпляров данного класса. Объявление процедуры как Private предотвращает вызов этот процедуры контроллерами объекта, но также предотвращает ее вызов из самого проекта, внутри которого был определен соответствующий класс.

Элемент Friend делает процедуру видимой из любого места проекта, но невидимым для контроллеров экземпляра объекта. Элемент Friend может присутствовать только в модулях формы и модулях класса, а также может изменять только имена процедур, но не переменных или типов. Процедуры в классе могут осуществлять доступ к процедурам Friend всех других классов проекта. Процедуры Friend не отображаются в библиотеке типов их класса class. Процедура Friend не может иметь отложенную привязку.

Пример

При размещении в модуле класса данный код делает переменную-элемент dblBalance доступной для всех пользователей класса внутри проекта. Любой пользователь класса может получить соответствующее значение; только код внутри проекта может назначать значение этой переменной.

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 

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.