ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.01.2026
Просмотров: 278
Скачиваний: 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. Применение цвета к тексту в диапазоне ячеек
– в проекте уровня приложения:
CType(Application.ActiveSheet, Excel.Worksheet).PrintPreview()
2. Печать листа.
– в проекте уровня документа:
Globals.Sheet1.PrintOut(From:=1, To:=1, Copies:=2, _
Preview:=True)
– в проекте уровня приложения:
CType(Application.ActiveSheet, Excel.Worksheet).PrintOut _
(From:=1, To:=1, Copies:=2, Preview:=True)
11.2.7. Перемещение листов в книгах
– в проекте уровня документа:
Dim totalSheets As Integer = _
Application.ActiveWorkbook.Sheets.Count
Globals.Sheet1.Move(After:=Globals.ThisWorkbook.Sheets( _
totalSheets))
– в проекте уровня приложения:
Dim totalSheets As Integer = _
Application.ActiveWorkbook.Sheets.Count
CType(Application.ActiveSheet, Excel.Worksheet).Move( _
After:=Application.Worksheets(totalSheets))
11.2.8. Создание и удаление групп на листахExcel
1. Использование элемента управления NamedRange.
– Создание группы элементов управления NamedRangeна листе.
With Me
.data2001.Group()
.data2002.Group()
.dataAll.Group()
End With
– Удаление групп элементов управления NamedRange.
With Me
.data2001.Ungroup()
.data2002.Ungroup()
.dataAll.Ungroup()
End With
2. Использование собственных диапазонов Excel.
– Создание группы диапазонов Excel на листе:
With Me.Application
.Range("data2001").Group()
.Range("data2002").Group()
.Range("dataAll").Group()
End With
– Удаление групп собственных диапазонов Excel.
With Me.Application
.Range("data2001").Ungroup()
.Range("data2002").Ungroup()
.Range("dataAll").Ungroup()
End With
11.2.9. Изменение форматирования строк листа
Private Sub BoldCurrentRow(ByVal ws As Excel.Worksheet)
'1. Объявление статической переменной для отслеживания
'предыдущей выбранной строки.
StaticpreviousRowAsInteger= 0
'2. Извлечение ссылки на текущую активную ячейку
'с помощью свойства ActiveCell.
DimcurrentCellAsExcel.Range=Me.Application.ActiveCell
'3. Применение к текущей строке стиля жирного начертания
'с помощью свойства EntireRow активной ячейки.
currentCell.EntireRow.Font.Bold=True
'4. Проверка факта, что текущее значение previousRow не равно
'"0". Значение "0" означает, что код выполняется впервые.
IfpreviousRow<> 0Then
'5. Проверка факта, что текущая строка отличается
'от предыдущей.
IfcurrentCell.Row<>previousRowThen
'6. Извлечение ссылки на диапазон, представляющий
'ранее выбранную строку,а затем отмена жирного
'начертания для этой строки.
Dim rng As Excel.Range = _
DirectCast(ws.Rows(previousRow), Excel.Range)
rng.EntireRow.Font.Bold = False
End If
End If
'7.Сохранение номера текущей строки, чтобы она стала
'предыдущей при следующем проходе.
previousRow=currentCell.Row
End Sub
11.2.10. Копирование данных и форматирование по листам
Me.Application.ActiveWorkbook.Sheets.FillAcrossSheets( _
Me.Application.Range("rangeData"), _
Excel.XlFillWith.xlFillWithAll)
11.2.11. Проверка орфографии на листах
– в настройке на уровне документа:
Globals.Sheet1.CheckSpelling()
– в надстройке уровня приложения:
CType(Application.ActiveSheet, Excel.Worksheet).CheckSpelling()
11.2.12. Программная сортировка данных
1. Сортировка данных в элементе управления NamedRange.
– в проекте уровня документа (в классе листа):
Me.Fruits.Sort(Key1:=Me.Fruits.Columns(1), _
Order1:=Excel.XlSortOrder.xlAscending, _
Key2:=Me.Fruits.Columns(2), _
Order2:=Excel.XlSortOrder.xlAscending, _
Orientation:=Excel.XlSortOrientation.xlSortColumns, _
Header:=Excel.XlYesNoGuess.xlNo, _
SortMethod:=Excel.XlSortMethod.xlPinYin, _
DataOption1:=Excel.XlSortDataOption.xlSortNormal, _
DataOption2:=Excel.XlSortDataOption.xlSortNormal, _
DataOption3:=Excel.XlSortDataOption.xlSortNormal)
– в проекте уровня приложения (в VisualStudio, начиная с версии 2008 сSP1):
Dim Fruits As Excel.Range = Me.Application.Range("A1", "B2")
Fruits.Sort(Key1:=Fruits.Columns(1), _
Order1:=Excel.XlSortOrder.xlAscending, _
Key2:=Fruits.Columns(2), _
Order2:=Excel.XlSortOrder.xlAscending, _
Orientation:=Excel.XlSortOrientation.xlSortColumns, _
Header:=Excel.XlYesNoGuess.xlNo, _
SortMethod:=Excel.XlSortMethod.xlPinYin, _
DataOption1:=Excel.XlSortDataOption.xlSortNormal, _
DataOption2:=Excel.XlSortDataOption.xlSortNormal, _
DataOption3:=Excel.XlSortDataOption.xlSortNormal)
2. Сортировка данных в элементе управления ListObject.
– в проекте уровня документа (в классе листа):
Me.fruitList.Range.Sort( _
Key1:=Me.fruitList.ListColumns(1).Range, _
Order1:=Excel.XlSortOrder.xlAscending, _
Key2:=Me.fruitList.ListColumns(2).Range, _
Order2:=Excel.XlSortOrder.xlAscending, _
Orientation:=Excel.XlSortOrientation.xlSortColumns, _
Header:=Excel.XlYesNoGuess.xlYes)
– в проекте уровня приложения (в VisualStudio, начиная с версии 2008 сSP1):
Dim fruitList As Excel.ListObject = _
CType(Application.ActiveSheet, _
Excel.Worksheet).ListObjects.AddEx( _
Excel.XlListObjectSourceType.xlSrcRange, _
Application.Range("A1", "B2"))
fruitList.Range.Sort(Key1:=fruitList.ListColumns(1).Range, _
Order1:=Excel.XlSortOrder.xlAscending, _
Key2:=fruitList.ListColumns(2).Range, _
Order2:=Excel.XlSortOrder.xlAscending, _
Orientation:=Excel.XlSortOrientation.xlSortColumns, _
Header:=Excel.XlYesNoGuess.xlYes)
11.3. Работа с диапазонами
Таблица 3. Основные методы, свойства и события класса NamedRange(http://msdn.microsoft.com/ru-ru/library/microsoft.office.tools.excel.namedrange_members.aspx)
|
Имя |
Описание |
|
Методы |
|
|
Activate |
Активизирует элемент управления NamedRange, состоящий из одной ячейки |
|
AddComment |
Добавляет комментарий к элементу управления NamedRange |
|
AdvancedFilter |
Отфильтровывает или копирует данные из списка на основании диапазона условий |
|
ApplyNames |
Применяет имена к ячейкам в элементе управления NamedRange |
|
ApplyOutlineStyles |
Применяет стили структуризации к элементу управления NamedRange |
|
AutoComplete |
Возвращает из списка соответствие автозаполнения |
|
AutoFill |
Автоматически заполняет ячейки в элементе управления NamedRange |
|
AutoFilter |
Фильтрует список с использованием автофильтра |
|
AutoFit |
Изменяет ширину столбцов или высоту строк в элементе управления NamedRange для обеспечения оптимального размера |
|
AutoFormat |
Автоматически форматирует элемент управления NamedRangeс использованием предварительно определенного формата |
|
AutoOutline |
Автоматически создает структуру для элемента управления NamedRange |
|
BorderAround |
Добавляет границу элементу управления NamedRangeи задает свойстваColor,LineStyleиWeightдля новой границы |
|
Calculate |
Вычисляет значения ячеек в элементе управления NamedRange |
|
CalculateRowMajorOrder |
Вычисляет определенный диапазон ячеек |
|
CheckSpelling |
Проверяет правописание текста в элементе управления NamedRange |
|
Clear |
Удаляет элемент управления NamedRangeцеликом |
|
ClearComments |
Удаляет комментарии во всех ячейках элемента управления NamedRange |
|
ClearContents |
Удаляет формулы из элемента управления NamedRange |
|
ClearFormats |
Удаляет форматирование элемента управления NamedRange |
|
ClearNotes |
Удаляет примечания из всех ячеек элемента управления NamedRange |
|
ClearOutline |
Удаляет структуру для элемента управления NamedRange |
|
ColumnDifferences |
Возвращает объект Microsoft.Office.Interop.Excel.Range, который представляет все ячейки, содержимое которых отличается от ячейки сравнения в каждом столбце |
|
Copy |
Копирует содержимое элемента управления NamedRangeв указанный диапазон или в буфер обмена |
|
CopyPicture |
Копирует элемент управления NamedRangeв буфер обмена как рисунок |
|
Cut |
Вырезает содержимое элемента управления NamedRangeв буфер обмена или вставляет его в указанное назначение |
|
DataSeries |
Создает ряд данных в элементе управления NamedRange |
|
Delete |
Удаляет динамически созданный элемент управления NamedRange, а затем удаляет его из коллекции ControlCollection |
|
ExportAsFixedFormat |
Экспортирует в файл указанного формата |
|
FillDown |
Заполняет от верхней ячейки (или ячеек) в элементе управления NamedRange до нижней части элемента управления NamedRange |
|
FillLeft |
Заполняет налево от самой правой ячейки (или ячеек) в элементе управления NamedRange |
|
FillRight |
Заполняет направо от самой левой ячейки (или ячеек) в элементе управления NamedRange |
|
FillUp |
Заполняет вверх от нижней ячейки (или ячеек) в элементе управления NamedRangeдо верхней части диапазона |
|
Find |
Находит определенные данные в элементе управления NamedRangeи возвращает объектMicrosoft.Office.Interop.Excel.Range, который представляет первую ячейку, где найдены эти данные |
|
FindNext |
Продолжает поиск, начатый при помощи метода Find |
|
FindPrevious |
Продолжает поиск, начатый при помощи метода Find |
|
FunctionWizard |
Запускает Мастер функций для верхней левой ячейки элемента управления NamedRangel |
|
Group |
Если элемент управления NamedRangeпредставляет одну ячейку в диапазоне данных поля сводной таблицы, методGroupвыполняет числовое или основанное на дате группирование в этом поле |
|
Insert |
Вставляет ячейку или диапазон ячеек в элемент управления NamedRangeи сдвигает остальные ячейки, чтобы освободить место |
|
InsertIndent |
Добавляет отступ в элемент управления NamedRange |
|
Justify |
Размещает текст в элементе управления NamedRangeтаким образом, чтобы он равномерно заполнял диапазон |
|
ListNames |
Вставляет список всех отображаемых имен в лист, начиная с первой ячейки в элементе управления NamedRange |
|
Merge |
Создает объединенную ячейку из элемента управления NamedRange |
|
Parse |
Проводит синтаксический анализ диапазона данных и разбивает его на несколько ячеек |
|
PasteSpecial |
Вставляет содержимое объекта Microsoft.Office.Interop.Excel.Range из буфера обмена в элемент управления NamedRange |
|
PrintOut |
Печатает элемент управления NamedRange |
|
PrintPreview |
Представляет предварительный просмотр элемента управления NamedRange, как он бы выглядел при печати |
|
RemoveDuplicates |
Удаляет повторяющиеся значения из диапазона значений |
|
Replace |
Заменяет указанные символы в элементе управления NamedRangeна новую строку |
|
RowDifferences |
Возвращает объект Microsoft.Office.Interop.Excel.Range, который представляет все ячейки, содержимое которых отличается от содержимого ячейки сравнения в каждой строке |
|
Select |
Выделяет элемент управления NamedRange |
|
Show |
Выполняет прокрутку содержимого активного окна для пере-мещения элемента управления NamedRangeв представление |
|
Sort |
Сортирует данные в элементе управления NamedRange |
|
SpecialCells |
Возвращает объект Microsoft.Office.Interop.Excel.Range, представляющий все ячейки, соответствующие указанным типу и значению |
|
Table |
Создает таблицу данных, основанную на входных значениях и формулах, определенных на листе |
|
Ungroup |
Повышает роль элемента управления NamedRangeв структуре (т. е. уменьшает его уровень структуры) |
|
UnMerge |
Разделяет объединенную область на отдельные ячейки |
|
Свойства |
|
|
AddIndent |
Возвращает или задает значение, указывающее на то, используется ли для текста автоматический отступ, когда для выравнивания текста в элементе управления NamedRange установлено выравнивание «по ширине» |
|
Address |
Получает ссылку на диапазон для элемента управления NamedRange |
|
AddressLocal |
Получает ссылку на диапазон для элемента управления NamedRangeна языке пользователя |
|
AllowEdit |
Получает значение, показывающее, можно ли изменять элемент управления NamedRangeна защищенном листе |
|
Application |
Получает объект Microsoft.Office.Interop.Excel.Application, представляющий собой создателя элемента управления NamedRange |
|
Areas |
Получает коллекцию Areas, в которой хранятся все диапазоны для нескольких выбранных областей |
|
Borders |
Возвращает коллекцию Borders, в которой хранятся все границы для элемента управленияNamedRange |
|
Cells |
Возвращает объект Microsoft.Office.Interop.Excel.Range, представляющий ячейки в элементе управления NamedRange |
|
Characters |
Возвращает объект Microsoft.Office.Interop.Excel.Characters, представляющий диапазон символов в тексте элемента управления NamedRange |
|
Column |
Получает номер первого столбца в первой области элемента управления NamedRange |
|
Columns |
Возвращает объект Microsoft.Office.Interop.Excel.Range, представляющий столбцы в элементе управленияNamedRange |
|
ColumnWidth |
Возвращает или задает ширину всех столбцов в элементе управления NamedRange |
|
Comment |
Получает объект Comment, представляющий комментарий, связанный с ячейкой в верхнем левом углу элемента управленияNamedRange |
|
Count |
Получает сведения о количестве ячеек в элементе управления NamedRange |
|
CountLarge |
Получает число раз появления самого большого значения в диапазоне значений |
|
CurrentRegion |
Возвращает объект Microsoft.Office.Interop.Excel.Range, представляющий текущую область |
|
Dependents |
Получает объект Microsoft.Office.Interop.Excel.Range, представляющий диапазон, содержащий все зависимые от элемента управленияNamedRangeячейки |
|
DirectDependents |
Получает объект Microsoft.Office.Interop.Excel.Range, представляющий диапазон, содержащий все ячейки, зависимые непосредственно от элемента управленияNamedRange |
|
End |
Возвращает объект Microsoft.Office.Interop.Excel.Range, представляющий ячейку в конце области, которая содержит элемент управления NamedRange |
|
EntireColumn |
Возвращает объект Microsoft.Office.Interop.Excel.Range, представляющий весь столбец (или столбцы), содержащий элемент управления NamedRange |
|
EntireRow |
Возвращает объект Microsoft.Office.Interop.Excel.Range, представляющий всю строку (или строки), содержащую элемент управления NamedRange |
|
Errors |
Возвращает объект Errors, дающий возможность обращаться к параметрам проверки ошибок |
|
Font |
Возвращает объект Font, представляющий шрифт элемента управления NamedRange |
|
Formula |
Возвращает или задает формулу элемента управления NamedRange в нотации стиля A1 |
|
FormulaArray |
Возвращает или задает формулу массива для элемента управления NamedRange |
|
FormulaHidden |
Возвращает или задает значение, указывающее, скрывается ли формула в элементе управления NamedRange при использовании защищенного листа |
|
FormulaLocal |
Возвращает или задает формулу для элемента управления NamedRange с использованием ссылок в стиле A1 на языке пользователя |
|
FormulaR1C1 |
Возвращает или задает формулу для объекта в нотации стиля R1C1 |
|
FormulaR1C1Local |
Возвращает или задает формулу для элемента управления NamedRange с использованием нотации в стиле R1C1 на языке пользователя |
|
HasArray |
Получает значение, указывающее, является ли элемент управления NamedRangeчастью формулы массива |
|
HasFormula |
Получает значение, указывающее, все ли ячейки в элементе управления NamedRangeсодержат формулы |
|
Height |
Возвращает высоту элемента управления NamedRange |
|
Hidden |
Возвращает или задает объект, который указывает, скрываются ли строки или столбцы |
|
HorizontalAlignment |
Возвращает или задает горизонтальное выравнивание для элемента управления NamedRange |
|
Hyperlinks |
Получает коллекцию Hyperlinks, представляющую гиперссылки в элементе управленияNamedRange |
|
IndentLevel |
Возвращает или задает уровень отступа для элемента управления NamedRange |
|
Item |
Получает объект Microsoft.Office.Interop.Excel.Range, представляющий диапазон со смещением для элемента управления NamedRange |
|
Left |
Получает расстояние от левого края столбца A до левого края элемента управления NamedRange |
|
ListHeaderRows |
Возвращает количество строк заголовка для элемента управления NamedRange |
|
ListObject |
Возвращает Microsoft.Office.Interop.Excel.ListObject для элемента управления NamedRange |
|
MergeArea |
Получает объект Microsoft.Office.Interop.Excel.Range, представляющий объединенный диапазон, который содержит элемент управленияNamedRange |
|
MergeCells |
Возвращает или задает значение, указывающее, содержит ли элемент управления NamedRangeобъединенные ячейки |
|
Name |
Возвращает или задает объект Nameдля элемента управленияNamedRange |
|
Next |
Возвращает объект Microsoft.Office.Interop.Excel.Range, представляющий следующую ячейку |
|
NumberFormat |
Возвращает или задает код формата для элемента управления NamedRange |
|
NumberFormatLocal |
Возвращает или задает код формата для элемента управления NamedRangeна языке пользователя |
|
Offset |
Возвращает объект Microsoft.Office.Interop.Excel.Range, являющийся смещением от элемента управленияNamedRange |
|
Orientation |
Возвращает или задает ориентацию текста |
|
OutlineLevel |
Возвращает или задает текущий уровень структуры для элемента управления NamedRange |
|
PageBreak |
Возвращает или задает местоположение разрыва страницы |
|
Precedents |
Возвращает объект Microsoft.Office.Interop.Excel.Range, представляющий все влияющие ячейки для элемента управленияNamedRange |
|
Previous |
Возвращает объект Microsoft.Office.Interop.Excel.Range, представляющий предыдущую ячейку |
|
QueryTable |
Возвращает объект QueryTable, представляющий таблицу запроса, которая пересекает элемент управленияNamedRange |
|
RefersTo |
Возвращает или задает формулу, на которую согласно настройке должен ссылаться элемент управления NamedRange, с использованием нотации стиля A1 |
|
RefersToLocal |
Возвращает или задает формулу, на которую ссылается элемент управления NamedRange, с использованием нотации стиля A1 на языке пользователя |
|
RefersToR1C1 |
Возвращает или задает формулу, на которую согласно настройке должен ссылаться элемент управления NamedRange, с использованием нотации стиля R1C1 |
|
RefersToR1C1Local |
Возвращает или задает формулу, на которую ссылается элемент управления NamedRange, с использованием нотации стиля R1C1 на языке пользователя |
|
RefersToRange |
Получает объект Microsoft.Office.Interop.Excel.Range, на который ссылается элемент управления NamedRange |
|
Resize |
Возвращает Microsoft.Office.Interop.Excel.Rangeизмененного размера, на основании элемента управленияNamedRange |
|
Row |
Получает номер 1-ой строки в 1-ой области элемента управления NamedRange |
|
RowHeight |
Возвращает или задает измеряемую в точках высоту всех строк в элементе управления NamedRange |
|
Rows |
Возвращает объект Microsoft.Office.Interop.Excel.Range, представляющий строки в элементе управленияNamedRange |
|
ShowDetail |
Возвращает или задает объект, указывающий, развернута ли структура элемента управления NamedRange(так что стали видны подробные данные столбца или строки) |
|
Style |
Возвращает или задает объект Style, который представляет стиль элемента управленияNamedRange |
|
Text |
Возвращает текст для элемента управления NamedRange |
|
Top |
Получает расстояние в пунктах между верхним краем строки 1 (один) и верхним краем элемента управления NamedRange |
|
UseStandardHeight |
Возвращает или задает значение, указывающее, равна ли высота строки элемента управления NamedRangeстандартной высоте листа |
|
UseStandardWidth |
Возвращает или задает значение, указывающее, равна ли ширина столбца элемента управления NamedRangeстандартной ширине листа |
|
Value |
Возвращает или задает значение элемента управления NamedRange |
|
Value2 |
Возвращает или задает значение элемента управления NamedRange |
|
VerticalAlignment |
Возвращает или задает вертикальное выравнивание элемента управления NamedRange |
|
Width |
Возвращает ширину элемента управления NamedRangeв пунктах |
|
Worksheet |
Возвращает объект Microsoft.Office.Interop.Excel.Worksheet, представляющий лист, содержащий элемент управленияNamedRange |
|
WrapText |
Возвращает или задает значение, указывающее, выполняет ли Microsoft Excel в элементе управления NamedRangeперенос текста по словам |
|
События |
|
|
BeforeDoubleClick |
Возникает при двойном щелчке мышью элемента управления NamedRangeпе-ред выполнением действия по двойному щелчку, используемого по умолчанию |
|
BeforeRightClick |
Событие возникает при щелчке правой кнопкой мыши элемента управления NamedRangeперед вызовом обработчика щелчка правой кнопкой мыши по умолчанию |
|
Change |
Возникает, когда в элемент управления NamedRangeвносятся какие-либо изменения |
|
Deselected |
Событие возникает при перемещении выделения из элемента управления NamedRangeна область за пределами элемента управленияNamedRange |
|
Selected |
Возникает при выделении элемента управления NamedRange |
|
SelectionChange |
Возникает при изменении выделения внутри элемента управления NamedRange |