Другие методы и свойства коллекции Sheets

Доступ к листу

Удаление листа

Добавление новых листов в книгу

Когда создается или открывается рабочая книга, она содержит уже некоторое число листов. Так что коллекция Sheets не пуста в момент открытия книги. Для добавления новых листов в книгу используется знакомый нам метод Add:

Add([Before], [After], [Count], [Type])

Все параметры являются необязательными.

· Before и After задают позицию вставки листа – индекс листа, перед или после которого вставляется новый лист. Из этих параметров одновременно может быть задан только один. Если оба параметра опущены, вставка производится перед активным листом данной книги;

· Count определяет количество вставляемых листов (по умолчанию – 1);

· Type определяет тип вставляемых листов, задаваемый соответствующей константой: xlWorksheet, xlChart, xlExcel4MacroSheet, xlExcel4IntlMacroSheet (по умолчанию – xlWorksheet).

В методе Add класса Sheets нет параметра, задающего ключ элемента. Фактически ключ задается. Его роль играет имя листа, заданное в виде свойства Name, имеющееся у листа каждого типа. Имя листа, наряду с числовым индексом, можно использовать для поиска листа в методе Item.

Из коллекции Sheets листы удаляются методом Delete, не имеющим параметров. В такой форме этот метод имеют многие классы объектов, в том числе Sheets, Worksheet и Chart. Если Delete вызывает объект Sheets, удаляется вся коллекция; если же его вызывают объекты Worksheet или Chart, удаляется соответствующий лист.

Получить доступ к элементу позволяет метод Item, который имеет синтаксис:

Item(Index)

Параметр Index задает имя или порядковый номер листа. Item является методом по умолчанию и может быть опущен.

Свойства Application, Creator, Parent, Count аналогичны этим же свойствам коллекции Workbooks.

Свойство Visible имеет значение True, если объект видимый и False в противном случае. Для рабочих листов и диаграмм это свойство может быть также задано константой xlVeryHidden ("очень скрыто"). Если лист имеет это свойство, он становится невидимым и пользователь никак не сумеет его увидеть, пока программно это свойство не будет установлено в True. Тип свойства двоякий: Boolean или Long.

Свойства HPageBreak и VPageBreak возвращают соответственно коллекции горизонтальной и вертикальной разбивки листа.

Метод Copy позволяет создать новый лист книги, копируя содержимое уже имеющегося листа. Его синтаксис:

Copy([Before], [After])

Параметры имеют привычный смысл, указывая точку вставки копируемого листа. Только один из них может быть задан при вызове метода. Метод Copy, вызванный без параметров, копирует содержимое объекта в буфер.

Метод Move – модификация метода Copy – позволяет передвинуть лист книги в новое положение. Его синтаксис:

Move([Before],[After])

Параметры имеют тот же смысл, что и в методе Copy.

Метод Paste – копирует содержимое буфера. Параметров не имеет.

Метод Select – выделяет объект, его вызвавший. Мы уже рассматривали этот метод ранее, когда речь шла об объекте Selection приложения Word. Методом Select обладают объекты многих классов. Если его вызывает коллекция Sheets, метод используется без параметров и выделяет все листы коллекции. Если же он вызван отдельным листом, то может иметь параметр:

Select(Replace)

Параметр Replace – булевого типа. Если он равен True, происходит замена объекта Selection, и выделенным становится лист, вызвавший метод. Если же значение параметра – False, происходит расширение области выделения так, чтобы она включала ранее выделенный объект и новый лист.

Методы PrintPreview и PrintOut позволяют осуществлять просмотр печати и печать объекта, вызвавшего метод. Как и большинство других рассматриваемых методов, они принадлежат многим классам, в том числе классам Sheets, Charts, Chart, Worksheets, Worksheet, Workbook и др.

Синтаксис:

PrintOut([From], [To], [Copies], [Preview], [ActivePrinter], [PrintToFile], [Collate])

Все параметры являются необязательными.

· From и To задают начальную и конечную страницу печати. Если их нет, печать идет с первой по последнюю страницу;

· Copies, если указан, задает количество копий при печати;

· Preview – булевый параметр. Если его значение равно True, предварительно происходит просмотр печати, если же параметр опущен или равен False, просмотра перед печатью нет. ActivePrinter устанавливает имя активного принтера;

· PrintToFile – булевый параметр. Если значение True, результаты печати посылаются не на принтер, а записываются в файл. При этом открывается диалоговое окно, в котором пользователь задает имя файла, хранящего результаты печати;

· Collate – булевый параметр. Если задано значение параметра True, будут сличаться результаты копий, выводимых на печать.

Метод FillAcrossSheets копирует содержимое области, заданной объектом Range, на рабочие листы коллекции. Его синтаксис:

FillAcrossSheets(Range, [Type])

· Range – обязательный параметр, который указывает область копирования. Она должна принадлежать одному из листов коллекции;

· Type – необязательный параметр, который указывает, как происходит копирование. Он может принимать значение, заданное одной из следующих констант: xlFillWithAll, xlFillWithContents или xlFillWithFormulas. Значение по умолчанию – xlFillWithAll.

Приведем пример, демонстрирующий большинство методов коллекции Sheets (см. листинг 3 (см. здесь)).