Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Presentation_2s-2.doc
Скачиваний:
16
Добавлен:
24.03.2015
Размер:
526.85 Кб
Скачать

11.5. Структурирование вExcel

Рис.1. Создание групп

Рис.2. Свернутые группы

Рис.3. Полностью свернутые группы

Таблица 4. Основные свойства и методы класса Outline(http://msdn.microsoft.com/ru-ru/library/microsoft.office.interop.excel.outline_members.aspx)

Имя

Описание

Свойства

Application

Возвращает объект Application, представляющий приложение Microsoft Excel

AutomaticStyles (Boolean)

Указывает, должен ли Excel применять к структурам автоматические стили

SummaryColumn(XlSummaryColumn)

Возвращает или устанавливает местонахождение итоговых столбцов в структуре. У перечислимого XlSummaryColumnдва возможных значения:xlSummaryOnLeftиxlSummaryOnRight

SummaryRow (XlSummaryRow)

Возвращает или устанавливает местонахождение итоговых строк в структуре. У перечислимого XlSummaryRowдва возможных значения:xlSummaryAboveиxlSummaryBelow

Методы

ShowLevels (RowLevels, ColumnLevels)

Позволяет свертывать или развертывать группы структуры на нужном уровне строки и/или столбца. Методу можно передать два параметра, причем хотя бы один должен быть указан. Параметры ColumnLevelsиRowLevels– определяют число уровней строки/столбца струк-туры для отображения. Если структура содержит меньше уровней, чем определено соответствую-щим параметром, то Microsoft Excel отображает все уровни. Если же соответствующий параметр равен 0 (нулю) или опущен, то никаких действий на строках/столбцах выполняться не будет

Пример использования метода ShowLevels.

Dim ws As Excel.Worksheet = CType(Application.ActiveSheet, _

Excel.Worksheet)

'Передача параметров RowLevelsи/илиColumnLevels

ws.Outline.ShowLevels(RowLevels:=3)

Демонстрация работы с полными строками как с диапазонами. Например, по щелчку по ссылке Work with Groupsна листе примера выполняется следующий код:

Friend Sub DoWorkWithGroups()

'Задаем параметры группирования уровня рабочего листа.

'В данном случае итоговые строки находятся под строками

'данных (т.е. Excelизвестно, куда помещать итоговые строки),

'а форматирование итоговых строк не требуется - оно уже

'выполнено.

Me.Outline.SummaryRow = Excel.XlSummaryRow.xlSummaryBelow

Me.Outline.AutomaticStyles=False

'Группируем два именованных диапазона,

'каждый из которых является группой полных строк.

Me.Data2001.Group()

Me.Data2002.Group()

Me.AllData.Group()

'Диапазон строк от 24 до 27 не является именованным,

'поэтому работаем с этим диапазоном напрямую.

Dim rng As Excel.Range = CType(Me.Rows("24:27"), Excel.Range)

rng.Group()

'Свертываем до групп второго уровня.

Me.Outline.ShowLevels(RowLevels:=2)

End Sub

Группировка трех именованных диапазонов:

Me.Data2001.Group()

Группировка неименованного диапазона:

Dim rng As Excel.Range = CType(ws.Rows("24:27"), Excel.Range)

rng.Group()

По щелчку по ссылке Clear Groupsна примере рабочего листа запускается код, очищающий группы:

Friend Sub DoClearGroups()

'Задаем параметры RowLevels и/или ColumnLevels:

Me.Outline.ShowLevels(RowLevels:=3)

Dim rng As Excel.Range = CType(Me.Rows("24:27"), Excel.Range)

rng.Ungroup()

Me.Data2001.Ungroup()

Me.Data2002.Ungroup()

Me.AllData.Ungroup()

End Sub

Литература:

1. MSDN Library, Microsoft.– http://msdn.microsoft.com/ru-ru/library/default.aspx .

2. Ken Getz. Understanding the Excel Object Model from a Visual Studio 2005 Developer's Perspective.– Microsoft, December 2005.– http://msdn.microsoft.com/ru-ru/library/aa537184. aspx .

25