ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.01.2026
Просмотров: 286
Скачиваний: 0
СОДЕРЖАНИЕ
11.1.2. Открытие существующей книги
11.1.4. Сохранение открытой книги
11.1.5. Получение и установка пути к файлу книги по умолчанию
11.1.6. Отображение диалогового окна для открытия файлов
11.2.1. Добавление новых листов
11.2.6. Предварительный просмотр и печать листов
11.2.7. Перемещение листов в книгах
11.2.8. Создание и удаление групп на листахExcel
11.2.9. Изменение форматирования строк листа
11.2.10. Копирование данных и форматирование по листам
11.2.11. Проверка орфографии на листах
11.2.12. Программная сортировка данных
11.3.2. Автоматическое заполнение диапазонов
11.3.3. Хранение и извлечение значений дат в диапазонах
11.3.4. Применение стилей к диапазонам и их отмена
11.3.5. Поиск текста в диапазоне ячеек
11.3.6. Применение цвета к тексту в диапазоне ячеек
11.3.1. Ссылки на диапазоны
– ссылка на содержимое элемента управления NamedRange:
Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
Me.Controls.AddNamedRange(Me.Range("A1"), "NamedRange1")
...
NamedRange1.Value2 = "Range value"
– ссылка на содержимое собственного диапазона ExcelRange:
Dim rng As Excel.Range = Me.Application.Range("A1")
...
rng.Value2 = "Range value"
11.3.2. Автоматическое заполнение диапазонов
Пример, заполнения трех диапазонов:
PrivateSubAutoFill()
Dim rng As Excel.Range = Me.Application.Range("B1")
rng.AutoFill(Me.Application.Range("B1:B5"), _
Excel.XlAutoFillType.xlFillWeekdays)
rng = Me.Application.Range("C1")
rng.AutoFill(Me.Application.Range("C1:C5"), _
Excel.XlAutoFillType.xlFillMonths)
rng = Me.Application.Range("D1:D2")
rng.AutoFill(Me.Application.Range("D1:D5"), _
Excel.XlAutoFillType.xlFillSeries)
End Sub
11.3.3. Хранение и извлечение значений дат в диапазонах
1. Использование элемента управления NamedRangeв проекте уровня документа.
– Сохранение значения даты в именованном диапазоне.
'Создание элемента управления NamedRangeв ячейкеA1.
Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
Me.Controls.AddNamedRange(Me.Range("A1"), "NamedRange1")
'Задание сегодняшней даты в качестве значения для NamedRange1.
Dim dt As DateTime = DateTime.Now
NamedRange1.Value2 = dt
– Извлечение значения даты из именованного диапазона NamedRange1.
Dim value As Object = NamedRange1.Value2
...
If Not value Is Nothing Then
If TypeOf value Is Double Then
dt = DateTime.FromOADate(CType(value, Double))
Else
DateTime.TryParse(CType(value, String), dt)
End If
End If
MessageBox.Show(dt.ToString())
2. Использование собственных диапазонов Excel Rangeв проекте уровня приложения.
– Сохранение значения даты в собственном диапазоне Excel Range.
'Создание объекта Range, представляющего ячейкуA1.
DimrngAsExcel.Range=Me.Application.Range("A1")
'Задание сегодняшней даты в качестве значения для rng.
Dim dt As DateTime = DateTime.Now
rng.Value2 = dt
– Извлечение значения даты из собственного диапазона Excel rng.
Dim value As Object = rng.Value2
...
If Not value Is Nothing Then
If TypeOf value Is Double Then
dt = DateTime.FromOADate(CType(value, Double))
Else
DateTime.TryParse(CType(value, String), dt)
End If
End If
System.Windows.Forms.MessageBox.Show(dt.ToString())
11.3.4. Применение стилей к диапазонам и их отмена
1. Применение стиля к именованному диапазону в настройке уровня документа:
– Создание нового стиля таблицы и задание его атрибутов.
Dim style As Excel.Style = _
Globals.ThisWorkbook.Styles.Add("NewStyle")
style.Font.Name = "Verdana"
style.Font.Size = 12
style.Font.Color = System.Drawing.ColorTranslator.ToOle( _
System.Drawing.Color.Red)
style.Interior.Color = System.Drawing.ColorTranslator.ToOle( _
System.Drawing.Color.Gray)
style.Interior.Pattern = Excel.XlPattern.xlPatternSolid
– Создание элемента управления NamedRange, присваивание ему текста, а затем применение нового стиля.
Dim rangeStyles As Microsoft.Office.Tools.Excel.NamedRange = _
Me.Controls.AddNamedRange(Me.Range("A1"), "rangeStyles")
rangeStyles.Value2 = "'Style Test"
rangeStyles.Style = "NewStyle"
rangeStyles.Columns.AutoFit()
2. Применение стиля к именованному диапазону в надстройке уровня приложения:
– Создание нового стиля таблицы и задание его атрибутов.
Dim style As Excel.Style = _
Me.Application.ActiveWorkbook.Styles.Add("NewStyle")
style.Font.Name = "Verdana"
style.Font.Size = 12
style.Font.Color = System.Drawing.ColorTranslator.ToOle( _
System.Drawing.Color.Red)
style.Interior.Color = System.Drawing.ColorTranslator.ToOle( _
System.Drawing.Color.Gray)
style.Interior.Pattern = Excel.XlPattern.xlPatternSolid
– Создание элемента управления Range, присваивание ему текста, а затем применение нового стиля.
Dim rangeStyles As Excel.Range = Me.Application.Range("A1")
rangeStyles.Value2 = "'StyleTest"
rangeStyles.Style = "NewStyle"
rangeStyles.Columns.AutoFit()
3. Отмена стилей, примененных к диапазонам в книге.
– Отмена стилей в элементе управления NamedRange:
Me.rangeStyles.Style = "Normal"
– Отмена стилей в собственном диапазоне Excel книги:
Dim rng As Excel.Range = Me.Application.Range("A1")
rng.Style = "Normal"
11.3.5. Поиск текста в диапазоне ячеек
PrivateSubDemoFind()
'1.Объявление переменных для хранения первого найденного
'диапазона и текущего найденного диапазона.
Dim currentFind As Excel.Range = Nothing
Dim firstFind As Excel.Range = Nothing
Dim Fruits As Excel.Range = Me.Application.Range("A1", "B2")
'2.Выполнение первого поиска с указанием всех параметров,
'кроме ячейки, после которой следует искать. Все параметры
'должны определяться каждый раз при вызове этого метода, так
'как они могут быть отменены в пользовательском интерфейсе.
currentFind=Fruits.Find("apples", , _
Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart, _
Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, False)
'3.Продолжать поиск, пока есть совпадения.
While Not currentFind Is Nothing
'4.Сравнение первого найденного диапазона (firstFind)
'с Nothing. Если переменнаяfirstFindне содержит
'значения, сохранить в ней найденный диапазон
'(currentFind).
If firstFind Is Nothing Then
firstFind = currentFind
'5.Выход из цикла, если адрес найденного диапазона
'совпадает с адресом первого найденного диапазона.
ElseIf currentFind.Address = firstFind.Address Then
Exit While
End If
'6.Изменение внешнего вида найденного диапазона.
With currentFind.Font
.Color = System.Drawing.ColorTranslator.ToOle( _
System.Drawing.Color.Red)
.Bold = True
End With
'7.Выполнение следующего поиска.
currentFind = Fruits.FindNext(currentFind)
End While
End Sub
11.3.6. Применение цвета к тексту в диапазоне ячеек
1. Применение цвета к элементу управления NamedRangeв настройке уровня документа.
'Создание элемента управления NamedRange в ячейке A1.
Dim rng As Microsoft.Office.Tools.Excel.NamedRange = _
Me.Controls.AddNamedRange(Me.Range("A1"), "NamedRange1")
'Задание цвета текста в элементе управления NamedRange.
rng.Font.Color = System.Drawing.ColorTranslator.ToOle( _
System.Drawing.Color.Red)
2. Применение цвета к собственному диапазону Excel Range.
'Создание диапазона, начиная с ячейки A1,
'и установка цвета текста в нем.
Dim rng2 As Excel.Range = Me.Application.Range("A1")
rng2.Font.Color = System.Drawing.ColorTranslator.ToOle( _
System.Drawing.Color.Red)
11.3.7. Программное выполнение вычислений
1. Выполнение вычислений в элементе управления NamedRange.
'Создание именованного диапазона.
Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
Me.Controls.AddNamedRange(Me.Range("A1"), "NamedRange1")
'Вызов метода Calculate указанного диапазона.
NamedRange1.Calculate()
2. Выполнение вычислений в собственном диапазоне Excel Range.
'Создание именованного диапазона.
Dim rng As Excel.Range = Me.Application.Range("A1")
'Вызов метода Calculate указанного диапазона.
rng.Calculate()
11.4. Работа с ячейками
– отображение текста в существующем элементе управления NamedRange.
Me.message.Value2 = "Hello world"
– отображение текста в собственном диапазоне Excel в проекте уровня приложения.
Dim rng As Excel.Range = Globals.Sheet1.Range("A1")
rng.Value2 = "Hello world"
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 (нулю) или опущен, то никаких действий на строках/столбцах выполняться не будет |


