Создание переменных объекта

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

Создание объектной переменной

  1. Объявите эту объектную переменную.

  2. Назначьте эту объектную переменную объекту.

Объявление объектной переменной

Используйте инструкцию Dim или одну из других инструкций объявления (Public, Private или Static), чтобы объявить переменную объекта. Переменная, ссылающаяся на объект, должна быть Variant, Object или объект определенного типа. Например, следующие объявления являются допустимыми:

' Declare MyObject as Variant data type. 
Dim MyObject 
' Declare MyObject as Object data type. 
Dim MyObject As Object 
' Declare MyObject as Font type. 
Dim MyObject As Font 

Примечание.

Если вы используете объектную переменную, предварительно не объявив ее, типом данных объектной переменной по умолчанию является Variant.

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

Если конкретный тип объекта вам известен, следует объявлять объектную переменную как тип данного объекта. Например, если приложение содержит тип объекта Sample, можно объявить переменную объекта для этого объекта с помощью любой из следующих инструкций:

Dim MyObject As Object ' Declared as generic object. 
Dim MyObject As Sample ' Declared only as Sample object. 

Объявление конкретных типов объектов обеспечивает автоматическую проверку типов, ускорение выполнения кода и улучшенную удобочитаемость.

Назначение объектной переменной объекту

Используйте инструкцию Set для назначения объекта переменной объекта. Можно назначить выражение объекта или Nothing. Например, допустимы следующие назначения переменных объекта.

Set MyObject = YourObject ' Assign object reference. 
Set MyObject = Nothing ' Discontinue association. 

Объявление переменной объекта можно объединить с присвоением ей объекта с помощью ключевого словаNew с оператором Set. Например:

Set MyObject = New Object ' Create and Assign 

Задание для объектной переменной значения Nothing прерывает связь этой объектной переменной с конкретным объектом. Это предотвращает случайное изменение объекта в результате изменения соответствующей переменной. Переменная объекта всегда имеет значение Nothing после закрытия связанного объекта, поэтому можно проверить, указывает ли переменная объекта на допустимый объект. Например:

If Not MyObject Is Nothing Then 
 ' Variable refers to valid object. 
 . . . 
End If 

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

Ссылка на текущий экземпляр объекта

Используйте ключевое слово Me для ссылки на текущий экземпляр объекта, в котором выполняется код. Все процедуры, связанные с текущим объектом, имею доступ к объекту, на который ссылаются с использованием Me. Использование ключевого слова Me особенно полезно при передаче информации о текущем экземпляре объекта процедуре в другом модуле. Например, предположим, что имеется следующая процедура в модуле

Sub ChangeObjectColor(MyObjectName As Object) 
 MyObjectName.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256) 
End Sub

Можно вызвать процедуру и передать текущий экземпляр объекта в качестве аргумента с помощью следующей инструкции:

ChangeObjectColor Me 

См. также

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

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