- •11. Объектная модель Excel
- •11.1. Работа с книгами
- •11.1.1. Создание новой книги
- •11.1.2. Открытие существующей книги
- •11.1.3. Закрытие книг
- •11.1.4. Сохранение открытой книги
- •11.1.5. Получение и установка пути к файлу книги по умолчанию
- •11.1.6. Отображение диалогового окна для открытия файлов
- •11.2. Работа с листами
- •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. Работа с диапазонами
- •11.3.1. Ссылки на диапазоны
- •11.3.2. Автоматическое заполнение диапазонов
- •11.3.3. Хранение и извлечение значений дат в диапазонах
- •11.3.4. Применение стилей к диапазонам и их отмена
- •11.3.5. Поиск текста в диапазоне ячеек
- •11.3.6. Применение цвета к тексту в диапазоне ячеек
- •11.3.7. Программное выполнение вычислений
- •11.4. Работа с ячейками
- •11.5. Структурирование вExcel
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"