Использование именованных диапазонов ячеек


Если в рабочем листе Excel создан именованный диапазон ячеек, то можно получить значения ячеек, содержащихся в этом диапазоне, если сослаться на свойство Range объекта Worksheet. Сначала посмотрим, какие именованные диапазоны присутствуют в открытом нами объекте. Введите в окно отладки команду
?xlwProd.Names(1).Name
Семейство Names представляет все имена, определенные в рабочей книге. В данном случае первый элемент этого семейства содержит имя диапазона: WorkRange.
Можно посмотреть не только имя, но и что собой представляет этот диапазон. Введите команду
?xlwProd.Names(1).Value
Результат будет: =Товары!$А$4 :$D$12,
т. е. прямоугольная область А4—D12 на рабочем листе "Товары".
На приведены выражения для управления объектом Range.
Пусть переменная xlsProd ссылается на рабочий лист "Товары". Для этого введите команду:
Set xlsProd = xlwProd.ActiveSheet.
Для указания конкретной ячейки внутри именованного объекта Range можно использовать следующий оператор:
?xlsProd.Range("WorkRange").Cells(1,1)
Здесь используется свойство Range объекта Worksheet для доступа к именованному диапазону, а затем свойство Cells объекта Range — для указания конкретной ячейки в диапазоне. Первая цифра указывает строку, а вторая — столбец.
Для того чтобы обратиться к объекту, который находится на уровень выше в иерархии объектов модели, можно воспользоваться свойством Parent. На представлено, как обратиться к рабочей книге Excel, содержащей текущий рабочий лист, и как установить объектную переменную xlaProd, которая должна ссылаться на объект Application Microsoft Excel:
Set хlwРабочаяКнига = хlsРабочийЛист.Parent.
Закрытие объектов Workbook и Application
Объект Microsoft Worksheet закрыть нельзя. Для закрытия объекта Excel Workbook может быть использован метод Close, а для выхода из приложения — метод Quit. Следующие операторы закрывают объект Workbook и затем осуществляют выход из приложения сервера автоматизации, освобождая системные ресурсы:
xlwProd.Close
xlaProd.Quit
Set xlsProd = Nothing
Set xlwProd = Nothing
Set xlaProd = Nothing
Если программно были внесены изменения в рабочем листе, то при закрытии объекта Workbook будет выдан вопрос о необходимости сохранения изменений. Если вы не хотите, чтобы пользователь получил такой вопрос, введите аргумент False для метода Close. Чтобы гарантировать освобождение всех ресурсов, необходимо освободить все использованные объектные переменные.
Замечание

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