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

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

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

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

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

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

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

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

[ Общедоступный | Частный ] [ Статическое ] Свойство {GetLetSet | | } имя свойства [(аргументы)] [Как тип] заявления End Property

Процедуры свойств обычно используются в парах: Property Let with Property Get и Property Set with 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. Тип данных процедуры Свойство Get должен быть таким же, как и тип данных последнего аргумента (n +1) в соответствующих объявлениях Свойства 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 и обратная связь.