|
||||||||
|
Объявление объектной переменнойВы объявляете объектную переменную, указывая либо универсальный тип Dim mySheet As Object Если тип переменной задан как Object, Visual Basic не знает, с объектами какого типа Вы будете использовать ее в дальнейшем. Поэтому Visual Basic при компиляции не сможет проверить, существует ли такой объект, корректно ли применяются его методы и свойства, и не сумеет связать эту информацию с объектной переменной ? иначе говоря, Visual Basic не выполнит раннее связывание (early binding) объектной переменной. Лишь когда Вы запустите программу и этой переменной будет присвоена ссылка на конкретный объект, Visual Basic получит нужную информацию и выполнит позднее связывание (late binding). Универсальные объектные переменные полезны только в том случае, когда Вам заранее не известен конкретный тип объекта или когда за переменной периодически закрепляются объекты разных классов. Так что по возможности указывайте при объявлении объектной переменной имя конкретного класса, например так:Dim mySheet As Worksheet Тип объектной переменной (в дополнение к конкретному имени класса) можно квалифицировать именем приложения, которое предоставляет данный объект (см. пример ниже). Это полезно в программе, использующей объекты из нескольких библиотек (особенно если в них содержатся объекты с одинаковыми именами). Dim wndXL As Excel.Window Для закрепления объекта за переменной предназначен оператор Set: Dim myRange As Excel. Range Если Вы не объявили объектную переменную явно и в момент присвоения забыли указать ключевое слово Set, Visual Basic не закрепит объект за этой переменной, а присвоит ей значение свойства объекта по умолчанию. В следующем примере переменная myRange получает значение свойства по умолчанию объекта Range (каковым является свойство Value):myRange = Worksheets("Sheet1").Range("A1")
Текст пособия подготовлен на основе материалов книги Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл. c Оригинальное издание на английском языке, Microsoft Corporation, 1997 c Русский перевод, Microsoft Corporation, 1997 |