Коллекция WorkSheets
Эта коллекция является частью коллекции Sheets, - ее элементами являются объекты класса WorkSheet, представляющие рабочие листы - листы электронных таблиц. По умолчанию при создании каждой новой рабочей книги в ее состав включаются три таких листа. С объектной точки зрения это означает, что при создании новой книги автоматически создается коллекция WorkSheets, содержащая три элемента. Как и всякая коллекция в Excel и Office 2000 данная коллекция содержит типичный набор свойств: Application, Count, Creator, Parent, Item. Кроме этих свойств имеется менее типичное свойство дляколлекций свойство Visible, которое позволяет сделать видимыми или невидимыми рабочие листы книги. У коллекции WorkSheets есть еще два свойства VpageBreaks и HpageBreaks, возвращающие одноименные коллекции, элементы которых задают вертикальное и горизонтальное деление рабочего листа на страницы, которые могут быть распечатаны. Дело в том, что рабочий лист Excel имеет большие размеры по ширине и длине, так что его полностью нельзя увидеть ни на экране дисплея, ни при выводе на печать. Поэтому при печати часто приходится делить рабочий лист, вставляя разрывы по горизонтали и вертикали. Коллекции VpageBreaks и HpageBreaks содержат объекты, задающие эти разрывы.
Методов у коллекции WorkSheets немного, и практически все они типичны для коллекций:
· Function Add([Before], [After], [Count], [Type]) As Object - позволяет добавить новый рабочий лист в книгу, возвращая соответствующий объект в качестве результата. Добавленный лист становится активным. Параметры Before и After позволяют указать, куда поместить добавленный лист, - перед или после листа, который до выполнения операции был активным. Параметр Count позволяет одновременно добавить несколько листов, задавая число этих листов. Параметр Type обычно не указывается, ранее он позволял добавлять листы макросов в версии Excel4.
· Sub Copy([Before], [After]) - метод Copy вызывается объектом WorkSheets, чаще всего, для создания копии рабочей книги. В этом случае параметры метода не задаются. При копировании отдельной страницы параметры указывают, куда поместить ее копию. Понятно, что только один из этих параметров может быть указан в момент вызова метода.
· Sub Delete() - удаляет коллекцию рабочих листов.
· Sub FillAcrossSheets(Range As Range, [Type As XlFillWith = xlFillWithAll]) - область, заданная параметром Range, копируется в соответствующее место всех рабочих листов. Тип копирования задается вторым параметром, можно, например, копировать формулы, по умолчанию копируется все содержимое области, заданной параметром Range. Копируемый объект, естественно, должен быть частью одного из рабочих листов коллекции. Вот простой пример, демонстрирующий применение этого метода:
· Public Sub CopyRange()
· 'Копирование объекта Range первого листа
· 'на все листы рабочей книги.
· With ThisWorkbook
· .Worksheets.FillAcrossSheets (.Worksheets(1).Range("A7:C11"))
· End With
End Sub
· Sub Move([Before], [After]) - используется для перемещения листов. К коллекции его лучше не применять.
· Sub PrintPreview([EnableChanges]), Sub PrintOut([From], [To], [Copies], [Preview], [ActivePrinter], [PrintToFile], [Collate], [PrToFileName]) - используются для предварительного просмотра коллекции рабочих листов перед ее печатью и для печати коллекции.
· Sub Select([Replace]) - используется для выделения листов коллекции.
Вот еще один небольшой пример на применение методов:
Public Sub MoveAndOthers()
'Перемещение листов и другие операции.
With ThisWorkbook.Worksheets
.Select
.PrintPreview (True)
'Метод Move к коллекции лучше не применять!
'.Move
End With
End Sub
Как Вы понимаете, большинство методов - Copy, Move, Select и другие - коллекция WorkSheets "унаследовала" от своих потомков. Чаще всего эти методы применяются к отдельным листам, а не ко всей коллекции в целом. Нам придется еще с ними столкнуться, при рассмотрении методов объекта WorkSheet. Прежде, чем перейти к изучению этого объекта, скажу только, что коллекция WorkSheets, также как и все другие коллекции, событий не имеет.
Объект WorkSheet
Объект Worksheet - рабочий лист является элементом коллекции Worksheets. Он представляет основной тип страниц рабочей книги. Именно на этих страницах разворачиваются основные действия в ячейках электронной таблицы. Основу рабочего листа составляет прямоугольная таблица ячеек. Главная особенность электронной таблицы состоит в том, что в ее ячейки можно вводить не только данные, но и формулы. Формулы Excel, также как и обычные математические формулы, также как и выражения в языках программирования, оперируют при вычислении значений константами, переменными и функциями. В электронной таблице роль переменных играют ячейки таблицы. Существует некоторый алгоритм, определяющий порядок, согласно которому вычисляются формулы в ячейках электронной таблицы. При изменении данных таблиц, инициированных пользователем, внешними ссылками или выполнением макросов программного проекта, пересчитываются и формулы. Это делает таблицу живой, - изменение значения одной ячейки приводит, возможно, к пересчету всей таблицы.
Также как для документов Word работа с текстом является главным занятием пользователей, работающих с документом, так и работа с ячейками - ввод данных и формул в ячейки, и, тем самым, инициирование вычислений лежит в основе работы с рабочим листом. С объектной точки зрения отдельные ячейки электронной таблицы и области, содержащие совокупности этих ячеек, то, что называется объектами Range, являются основными объектами рабочего листа. Но, естественно, рабочий лист состоит не только из объектов Range, есть и другие компоненты. Объектная модель рабочего листа Worksheet достаточно сложна, что отражает, впрочем, сложность изучаемого объекта. Давайте познакомимся с ней поближе.
Дата добавления: 2016-02-20; просмотров: 1137;