Написание процедуры свойства
Процедура свойства — это ряд инструкций 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 и обратная связь.