Описывает имя, аргументы и текст программы, составляющий тело процедуры Property, которая принимает значение свойства.
[Public | Private] [Static] Property Get имя [(списокАргументов)] [As тип] [инструкции] [имя = выражение] [Exit Property] [инструкции] [имя = выражение] End Property
Параметры
Public
Необязательный. Указывает, что процедура Property Get доступна для всех других процедур во всех модулях. При использовании в личном модуле (модуле, который содержит инструкцию Option Private) такая процедура является недоступной вне проекта.
Private
Необязательный. Указывает, что процедура Property Get доступна для других процедур только того модуля, в котором она описана.
Static
Необязательный. Указывает, что локальные переменные процедуры Property Get сохраняются в промежутках времени между вызовами этой процедуры. Атрибут Static не действует на переменные, описанные вне процедуры Property Get, даже если они используются в этой процедуре.
имя
Обязательный. Имя процедуры Property Get, удовлетворяющее стандартным правилам именования переменных, за исключением того, что это имя может совпадать с именем процедуры Property Let или Property Set из этого же модуля.
списокАргументов
Необязательный. Список переменных, представляющий аргументы, которые передаются в процедуру Property Get при ее вызове. Имена нескольких переменных разделяются запятыми. Имя и тип данных каждого аргумента процедуры Property Get должны совпадать с соответствующими аргументами процедуры Property Let (если она имеется).
Замечания
Процедуры Property, тип которых не указан явно с помощью слов Public или Private, являются общими по умолчанию. Если не используется слово Static, значения локальных переменных не сохраняются между вызовами процедур.
Все выполняемые команды должны находиться в процедурах. Не допускается определение процедуры Property Get внутри другой процедуры Property, Sub или Function.
Инструкция Exit Property вызывает немедленный выход из процедуры Property Get. Выполнение программы продолжается с инструкции, следующей за инструкцией вызова процедуры Property Get. В любом месте процедуры Property Get допускается любое число инструкций Exit Property.
Подобно процедурам Sub и Property Let, процедура Property Get является самостоятельной процедурой, которая может получать аргументы, выполнять последовательность инструкций и изменять значения своих аргументов. Однако в отличие от процедуры Sub или Property Let, возможно использование процедуры Property Get в правой части выражения, аналогично использованию ключевого слова Function или имени свойства, когда требуется возвращение значения свойства.
Пример
В данном примере инструкция Property Get используется для описания процедуры, предназначенной для определения значения свойства. Эта процедура возвращает текущий цвет пера как строку.
Dim CurrentColor As Integer Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3 ' Возвращает текущий цвет пера как строку. Property Get PenColor() As String Select Case CurrentColor Case RED PenColor = "Red" Case GREEN PenColor = "Green" Case BLUE PenColor = "Blue" End Select End Property ' Следующий код определяет цвет пера с помощью процедуры Property Get. ColorName = PenColor