Написание процедуры свойства

Процедура свойства — это ряд операторов Visual Basic, которые позволяют программисту создавать пользовательские свойства и управлять ими.

  • Процедуры Property можно использовать для создания свойств, открытых только для чтения, в формах, стандартных модулях и модулях классов.

  • Процедуры Property следует использовать вместо переменных с атрибутом Public в коде, который должен выполняться при установке значения свойства.

  • В отличие от общедоступных переменных, процедуры свойств могут иметь строки справки, назначенные им в обозревателе объектов.

При создании процедуры свойства она становится свойством модуля , содержащего процедуру. Visual Basic предоставляет следующие три типа процедур свойств.

Procedure Описание
Property Let Процедура, устанавливающая значение свойства.
Property Get Процедура, возвращающая значение свойства.
Property Set Процедура, устанавливающая ссылку на объект.

Синтаксис объявления процедуры свойства выглядит следующим образом.

[ Общедоступная | Приватный ] [ Static ] Property { Get | Let | Set } propertyname [( arguments )] [ Astype ] statementsEnd Property

Процедуры свойств обычно используются в парах: Property Let с Property Get и Property Set с Property Get. Объявление только процедуры Property Get аналогично объявлению свойства, открытого только для чтения. Совместное использование всех трех типов процедур свойств полезно только для переменных Variant , так как только Variant может содержать объект или другие сведения о типе данных. Процедура Property Set рассчитана на использование с объектами, в отличие от процедуры Property Let.

Требуемые аргументы в объявлениях процедур свойств показаны в следующей таблице.

Procedure Синтаксис объявления
Property Get Свойство Getpropname (1, ..., n) тип
Property Let Свойство Letpropname (1, ...,,,, n, n +1)
Property Set Свойство setpropname (1, ..., n, n +1)

Первый аргумент через следующий по последнему аргументу (1, ..., n) должен использовать одинаковые имена и типы данных во всех процедурах свойств с одинаковым именем.

Для объявления процедуры Property Get требуется на один аргумент меньше, чем для объявления связанных процедур Property Let и Property Set. Тип данных процедуры Property Get должен совпадать с типом данных последнего аргумента (n +1) в связанных объявлениях Property Let и Property Set . Например, при объявлении следующей процедуры Property Let имена и типы данных аргументов процедуры Property Get должны совпадать с именами и типами данных аргументов процедуры Property Let.

Property Let Names(intX As Integer, intY As Integer, varZ As Variant) 
 ' Statement here. 
End Property 
 
Property Get Names(intX As Integer, intY As Integer) As Variant 
 ' Statement here. 
End Property 

Последний аргумент процедуры Property Set должен быть объектного типа или типа Variant.

См. также

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

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