Оператор Set
Назначает ссылку на объект переменной или свойству.
Синтаксис
Setobjectvar= {[ New ] objectexpression | Nothing }
Синтаксис оператора Set состоит из следующих элементов.
Part | Описание |
---|---|
objectvar | Обязательно. Имя переменной или свойства; соответствует стандартным соглашениям об именовании переменных. |
New | Необязательный параметр. New обычно используется во время объявления разрешения создания неявных объектов. Когда New используется с Set, он создает новый экземпляр класса. Если objectvar содержал ссылку на объект, эта ссылка освобождается, когда назначается новая. Newключевое слово не может использоваться для создания новых экземпляров любого встроенного типа данных и не может использоваться для создания зависимых объектов. |
выражение objectexpression | Обязательно. Выражение, состоящее из имени объекта, другой объявленной переменной того же типа объекта или функции, или метода, которые возвращают объект того же типа объекта. |
Nothing | Необязательный параметр. Прекращает связь objectvar с любым определенным объектом. При назначении значения Nothingобъекту objectvar освобождаются все системные ресурсы и ресурсы памяти, связанные с ранее указанным объектом, если на него не ссылается никакая другая переменная. |
Замечания
Чтобы элемент objectvar был допустимым, он должен представлять собой тип объекта, согласующийся с назначаемым ему объектом.
Операторы Dim, Private, Public, ReDim и Static только объявляют переменную, которая ссылается на объект. Ссылка на фактический объект не задается, до тех пор пока оператор Set используется для назначения определенного объекта.
В следующем примере показано, как используется Dim для объявления массива с типом Form1
. Экземпляр на Form1
самом деле не существует.
Затем Set назначает ссылки на новые экземпляры Form1
переменной myChildForms
. Такой код можно использовать для создания дочерних форм в приложении MDI.
Dim myChildForms(1 to 4) As Form1
Set myChildForms(1) = New Form1
Set myChildForms(2) = New Form1
Set myChildForms(3) = New Form1
Set myChildForms(4) = New Form1
Обычно, когда используется Set для назначения переменной ссылки на объект, для этой переменной не создается копия объекта. Вместо этого создается ссылка на объект. Несколько объектных переменных могут ссылаться на один и тот же объект. Поскольку такие переменные являются, скорее, ссылками на объект, чем копиями объекта, любое изменение в объекте отражается во всех переменных, которые на него ссылаются. Однако, когда ключевое слово New используется в операторе Set, фактически создается экземпляр объекта.
Пример
В этом примере используется оператор Set, чтобы назначить переменным ссылки на объекты. Предполагается, что YourObject представляет собой допустимый объект со свойством Text.
Dim YourObject, MyObject, MyStr
Set MyObject = YourObject ' Assign object reference.
' MyObject and YourObject refer to the same object.
YourObject.Text = "Hello World" ' Initialize property.
MyStr = MyObject.Text ' Returns "Hello World".
' Discontinue association. MyObject no longer refers to YourObject.
Set MyObject = Nothing ' Release the object.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.