Объектные переменные конкретных типов

End Sub

Здесь переменная Rangel равна диапазону Worksheets(l).Range("Al").

Как уже говорилось, описывая объектную переменную, Вы можете сопоставить с ней конкретный тип объекта, например Range.

Dim Range1 As Range

Здесь мы приписали переменной Rangel не общий тип Object, а конкретный тип Range. Дальше — еще несколько примеров описания переменных для хранения конкретных типов объектов.

Dim Workbook1 As Workbook

Dim MyWorksheet As Worksheet

Dim XL As Application

Названия типов объектов совпадают с их именами, изображенными на схеме модели объектов Excel в главе 1. Поработав немного в Excel, Вы без труда запомните все названия.

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

Dim Workbook1 As Object

Dim MyWorksheet As Object

Dim XL As Object

Но в таком случае, зачем нужен другой способ описания объектных переменных — с указанием конкретного типа? Дело в том, что он повышает производительность программы. Если Вы объявили переменную как Object, при каждом обращении к ней, к ее методу или свойству VBA определяет, на объект какого типа она ссылается. Если же тип объекта задан при объявлении переменной явно, VBA не выполняет эту дополнительную операцию. В простых программах одинаково хорошо работают оба способа, но в больших сложных приложениях разница в производительности становится заметной.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: