Операции с объектами Microsoft Excel
- Файл Toвapы.xls содержит только один объект Worksheet, поэтому рабочий лист "Товары" является активным рабочим листом – объектом ActiveSheet. Чтобы убедиться в этом, введите в окно отладки команду:
? xlwProd.ActiveSheet.Name
Свойство Name этого объекта содержит имя рабочего листа: Товары.
- Теперь попробуйте обратиться к первой ячейке рабочего листа. Введите ?xlwProd.ActiveSheet.Celled, 1). После короткой паузы появится ожидаемый результат – строка "Код товара". Это заголовок первого столбца таблицы.
- Метод Cells позволяет обратиться к любой ячейке рабочего листа. Введите ?xlwProd. ActiveSheet. Cells (R, С), где R – номер строки, а С – номер столбца заданной ячейки, т. е. ее координаты (рис. 15.28).
- Можно изменить содержимое ячейки, если ввести выражение вида: xlwProd.ActiveSheet.Cells(2.2).Value = "brown rice. Подобно тому как многие объекты Access при введении имени объекта возвращают его значение, метод Cells не требует явного указания свойства Value по умолчанию. Чтобы убедиться в том, что содержимое ячейки изменилось, введите ?xlwProd.ActiveSheet.Cells (3.2), не дописывая выражения Value.
Для установления значения ячейки можно также использовать свойство Formula. Преимущество использования свойства Formula состоит в возможности его применения с целью введения формул с использованием "родного" синтаксиса Microsoft Excel, т. е. в виде ссылок на конкретные ячейки, например "=А2+С6".
Использование именованных диапазонов ячеек
Если в рабочем листе Excel создан именованный диапазон ячеек, то можно получить значения ячеек, содержащихся в этом диапазоне, если сослаться на свойство Range объекта Worksheet. Сначала посмотрим, какие именованные диапазоны присутствуют в открытом нами объекте. Введите в окно отладки команду (рис. 15.29)
? xlwProd.Names(1).Name
Семейство Names представляет все имена, определенные в рабочей книге. В данном случае первый элемент этого семейства содержит имя диапазона: WorkRange.
Можно посмотреть не только имя, но и что собой представляет этот диапазон. Введите команду:
? xlwProd.Names(1).Value
Результат будет:
=
Товары!$A$4:$D$12
…т. е. прямоугольная область А4– D12 на рабочем листе "Товары".
На рис. 15.29 приведены выражения для управления объектом Range.
Рис. 15.29. Примеры использования именованного диапазона
Пусть переменная xlsProd ссылается на рабочий лист "Товары". Для этого введите команду:
Set
xlsProd = xlwProd.ActiveSheet
Для указания конкретной ячейки внутри именованного объекта Range можно использовать следующий оператор:
? xlsProd.Range(
"WorkRange"
).Cells(1.1)
Здесь используется свойство Range объекта Worksheet для доступа к именованному диапазону, а затем свойство Cells объекта Range – для указания конкретной ячейки в диапазоне. Первая цифра указывает строку, а вторая – столбец.
Для того чтобы обратиться к объекту, который находится на уровень выше в иерархии объектов модели, можно воспользоваться свойством Parent. На рис. 15.29 представлено, как обратиться к рабочей книге Excel, содержащей текущий рабочий лист, и как установить объектную переменную xlaProd, которая должна ссылаться на объект Application Microsoft Excel:
Set
xlwРабочаяКнига = xlsРабочийЛист.Parent.