Основы офисного программирования и язык VBA


Коллекция Sheets - часть 4


Значение по умолчанию - xlFillWithAll.

В заключение приведем пример, демонстрирующий большинство методов этой коллекции.

Пример 1.4.

(html, txt)

Работая с тестовым документом - книгой BookOne. Мы последовательно щелкали командные кнопки, запускающие процедуры WorkWithBooks и WorkWithSheets. Вот результаты отладочной печати при работе последней процедуры:

Число листов при первоначальном открытии книги = 3 Имена листов: Sheet1 Sheet2 Sheet3 Число листов книги после вставки 3-х листов = 6 Имена и типы листов после переименования: One -4167 Two -4167 Three 3 Four -4167 Five 3 Six -4167 Имена, типы листов и содержимое двадцатой ячейки: One -4167 6765 Two -4167 Four -4167 6765 Six -4167 6765 Seven -4167 6765

Кратко прокомментируем работу программы. Вначале активизируется книга с именем Book2 из коллекции книг, созданных предыдущим макросом. Эта книга содержит три листа со стандартными именами: Sheet1 -Sheet3. Мы добавляем в эту книгу еще три листа разных типов и переименовываем все листы, давая им имена от One до Six. Четыре листа книги являются рабочими листами и имеют тип xlWorksheet (значение константы -4167). Третий лист - это лист диаграммы типа xlChart, а пятый является листом макросов и имеет тип xlExcel4MacroSheet.

Замечание:

В Office 97 и Бета версии Office 2000 тип листа диаграммы (свойство Type) устанавливался неверно. Вместо правильного значения, равного -4109, устанавливалось значение 3, что соответствует листу макроса. В процессе тестирования Office 2000 мы сообщили об этой ошибке и надеемся, что в заключительной версии она уже исправлена.

Затем третий и пятый лист удаляются, и в книге остаются только рабочие листы. Следующие шаги программы демонстрируют работу методов Copy и Move. Вначале активизируется первый лист, вызывается макрос Fibonachi, заполняющий последовательностью чисел Фибоначчи область листа - ячейки A1:A20. Затем создается копия этого листа, и вновь созданный лист - One(2) - помещается после второго листа книги. Он переименовывается, получает имя Seven и перемещается, заняв позицию после листа Six.Метод FillAcrossSheet позволяет скопировать область одного листа в соответствующие области нескольких листов той же книги. Для этого вначале создается массив X с именами листов, в которые будут копироваться данные. Обратите внимание на этот важный, часто используемый метод. Заметьте: в список массива X должен быть включен и лист One, с которого будет производиться копирование.




Начало  Назад  Вперед



Книжный магазин