Вход


Главная страница >> Учебный процесс >> Конспекты >> MS Office. Руководство программиста по Visual Basic для MS Office 97 >> Основы программирования >> Переменные, константы и типы данных >> Объявление объектной переменной

Переход на главную страницу

Сервер поддерживается
кафедрой информатики и вычислительной техники ГрГУ
тел. +375-(0)152-445-101
E-mail :
kadan@grsu.grodno.by


[Назад]    [Содержание ]    [Вперед]

  


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


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

Dim mySheet As Object

Если тип переменной задан как Object, Visual Basic не знает, с объектами какого типа Вы будете использовать ее в дальнейшем. Поэтому Visual Basic при компиляции не сможет проверить, существует ли такой объект, корректно ли применяются его методы и свойства, и не сумеет связать эту информацию с объектной переменной ? иначе говоря, Visual Basic не выполнит раннее связывание (early binding) объектной переменной. Лишь когда Вы запустите программу и этой переменной будет присвоена ссылка на конкретный объект, Visual Basic получит нужную информацию и выполнит позднее связывание (late binding). Универсальные объектные переменные полезны только в том случае, когда Вам заранее не известен конкретный тип объекта или когда за переменной периодически закрепляются объекты разных классов. Так что по возможности указывайте при объявлении объектной переменной имя конкретного класса, например так:

Dim mySheet As Worksheet
Dim myPres As Presentation
Dim myRange As Range
Dim myApp As Application

Тип объектной переменной (в дополнение к конкретному имени класса) можно квалифицировать именем приложения, которое предоставляет данный объект (см. пример ниже). Это полезно в программе, использующей объекты из нескольких библиотек (особенно если в них содержатся объекты с одинаковыми именами).

Dim wndXL As Excel.Window
Dim wndWD As Word.Window
Dim appWD As Word.Application

Для закрепления объекта за переменной предназначен оператор Set:

Dim myRange As Excel. Range
Set myRange = Worksheets("Sheet1").Range("A1")

Если Вы не объявили объектную переменную явно и в момент присвоения забыли указать ключевое слово Set, Visual Basic не закрепит объект за этой переменной, а присвоит ей значение свойства объекта по умолчанию. В следующем примере переменная myRange получает значение свойства по умолчанию объекта Range (каковым является свойство Value):

myRange = Worksheets("Sheet1").Range("A1")
' пропущен оператор Set!



[Назад]    [Содержание ]    [Вперед]

  



Текст пособия подготовлен на основе материалов книги
Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл.
c Оригинальное издание на английском языке,
Microsoft Corporation, 1997
c Русский перевод,
Microsoft Corporation, 1997

  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017