Объектная модель Excel

Содержание

Слайд 2

Структура объектной модели Excel

Структура объектной модели Excel

Слайд 3

Основные объекты Excel

Application - приложение;
Workbook – рабочая книга;
Worksheet – рабочий

Основные объекты Excel Application - приложение; Workbook – рабочая книга; Worksheet –
лист;
Range – диапазон ячеек.

Слайд 4

Основные операции с рабочими книгами

Создание рабочей книги:
Excel.Workbook wb = ThisApplication.Workbooks.Add(Type.Missing);
Закрытие всех

Основные операции с рабочими книгами Создание рабочей книги: Excel.Workbook wb = ThisApplication.Workbooks.Add(Type.Missing);
открытых рабочих книг:
ThisApplication.Workbooks.Close();
Открытие существующей рабочей книги:
Excel.Workbook wb = ThisApplication. Workbooks.Open(@"C:\YourPath\книга1.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

Слайд 5

Просмотр всех листов рабочей книги

private void ListSheets()
{ int i = 0; Excel.Range rng =

Просмотр всех листов рабочей книги private void ListSheets() { int i =
ThisApplication.get_Range("Sheets", Type.Missing); foreach (Excel.Worksheet sh in ThisWorkbook.Sheets) { rng.get_Offset(i, 0).Value2 = sh.Name; i = i + 1; }
}

Слайд 6

Основные компоненты класса Sheets

Свойство Visible
Значения перечисления XlSheetVisibility:
XlSheetHidden;
XlSheetVeryHidden;
xlSheetVisible
Пример:
((Excel.Worksheet) ThisWorkbook.Sheets [1]).Visible

Основные компоненты класса Sheets Свойство Visible Значения перечисления XlSheetVisibility: XlSheetHidden; XlSheetVeryHidden; xlSheetVisible
= Excel.XlSheetVisibility. xlSheetVeryHidden;

Слайд 7

Добавление нового листа в рабочую книгу:
Excel.Sheet sh = ThisWorkbook. Sheets.Add(Type.Missing, Type.Missing, Type.Missing,

Добавление нового листа в рабочую книгу: Excel.Sheet sh = ThisWorkbook. Sheets.Add(Type.Missing, Type.Missing,
Type.Missing);
Создание копии листа:
Excel.Worksheet) ThisWorkbook.Sheets[1]). Copy(Type.Missing, ThisWorkbook.Sheets [3]);

Основные компоненты класса Sheets

Слайд 8

Удаление заданного листа:
((Excel.Worksheet) ThisWorkbook.Sheets[1]).Delete();
Перенос листа:
Excel.Sheets shts = ThisWorkbook. Sheets; ((Excel.Worksheet)shts[1]).Move(Type. Missing, shts[shts.Count]);

Основные компоненты

Удаление заданного листа: ((Excel.Worksheet) ThisWorkbook.Sheets[1]).Delete(); Перенос листа: Excel.Sheets shts = ThisWorkbook. Sheets;
класса Sheets

Слайд 9

Печать выбранного объекта:
((Excel.Worksheet)ThisApplication. Sheets[1]).PrintOut(1, 1, 2, true, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
Предварительный просмотр:
((Excel.Worksheet)ThisApplication.

Печать выбранного объекта: ((Excel.Worksheet)ThisApplication. Sheets[1]).PrintOut(1, 1, 2, true, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
Sheets[1]).PrintPreview(false);
Выделение заданного объекта:
((Excel.Worksheet)ThisApplication. Sheets[1]).Select(Type.Missing);

Основные компоненты класса Sheets

Слайд 10

Методы класса Workbook

Активизация рабочей книги:
ThisApplication.Workbooks[1].Activate();
Закрытие заданной рабочей книги:
ThisApplication.Workbooks[1].Close (false, Type.Missing, Type.Missing);
Сохранение всех

Методы класса Workbook Активизация рабочей книги: ThisApplication.Workbooks[1].Activate(); Закрытие заданной рабочей книги: ThisApplication.Workbooks[1].Close
открытых рабочих книг:
foreach (Excel.Workbook wb in ThisApplication.Workbooks) wb.Save();

Слайд 11

Программное обращение к диапазонам

Предварительные описания:
Excel.Worksheet ws = (Excel. Worksheet)ThisWorkbook.Worksheets[1];
Excel.Range rng, rng1, rng2;
Получение

Программное обращение к диапазонам Предварительные описания: Excel.Worksheet ws = (Excel. Worksheet)ThisWorkbook.Worksheets[1]; Excel.Range
активной ячейки:
rng = ThisApplication.ActiveCell;

Слайд 12

Непосредственное указание диапазона:
rng = ws.get_Range("A1", Type.Missing); rng = ws.get_Range("A1:B12", Type.Missing);
Указание строки и столбца:
rng

Непосредственное указание диапазона: rng = ws.get_Range("A1", Type.Missing); rng = ws.get_Range("A1:B12", Type.Missing); Указание
= (Excel.Range)ws.Cells[1, 1];

Программное обращение к диапазонам

Слайд 13

Указание «углов» диапазона:
rng = ws.get_Range("A1", "C5"); rng = ws.get_Range("A1", "C5").Cells; rng = ws.get_Range("A1", "C5").Rows; rng

Указание «углов» диапазона: rng = ws.get_Range("A1", "C5"); rng = ws.get_Range("A1", "C5").Cells; rng
= ws.get_Range("A1", "C5").Columns;
Обращение к именованному диапазону:
rng = ThisApplication.Range ("SomeRangeName", Type.Missing);

Программное обращение к диапазонам

Слайд 14

Обращение к заданной строке, столбцу или их диапазону:
rng = (Excel.Range)ws.Rows[1, Type.Missing]; rng =

Обращение к заданной строке, столбцу или их диапазону: rng = (Excel.Range)ws.Rows[1, Type.Missing];
(Excel.Range)ws.Rows["1:3", Type.Missing]; rng = (Excel.Range)ws.Columns[3, Type.Missing];

Программное обращение к диапазонам

Слайд 15

Обращение к выделенным ячейкам:
rng = ThisApplication.Selection;
Объединение двух диапазонов:
rng = ThisApplication.get_Range ("A1:D4, F2:G5",

Обращение к выделенным ячейкам: rng = ThisApplication.Selection; Объединение двух диапазонов: rng =
Type.Missing);
Пересечение двух диапазонов:
rng = ThisApplication.get_Range ("A1:D16 B2:F14", Type.Missing);

Программное обращение к диапазонам

Слайд 16

Смещение относительно исходного диапазона:
rng = (Excel.Range) ws.Cells[1, 1]; for (int i = 1;

Смещение относительно исходного диапазона: rng = (Excel.Range) ws.Cells[1, 1]; for (int i
i <= 5; i++) rng.get_Offset(i, 0).Value2 = i.ToString();
Текущая область диапазона:
свойство CurrentRegion

Программное обращение к диапазонам

Слайд 17

Работа с диапазонами

Установка значений ячеек:
свойство Value2
Автоматическое заполнение диапазонов:
метод AutoFill
Сортировка данных в диапазоне:
метод

Работа с диапазонами Установка значений ячеек: свойство Value2 Автоматическое заполнение диапазонов: метод
Sort

Слайд 18

Параметры метода Sort

Параметры метода Sort

Слайд 19

Параметры метода Sort

Параметры метода Sort

Слайд 20

Параметры метода Sort

Параметры метода Sort

Слайд 21

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

private void DemoSort() { Excel.Range rng = ThisApplication. get_Range("Fruits", Type.Missing); rng.Sort(rng.Columns[1, Type.Missing], Excel.XlSortOrder.xlAscending,

Пример использования метода Sort private void DemoSort() { Excel.Range rng = ThisApplication.
rng.Columns[2, Type.Missing],Type.Missing, Excel.XlSortOrder.xlAscending,Type.Missing, Excel.XlSortOrder.xlAscending, Excel.XlYesNoGuess.xlNo, Type.Missing, Type.Missing,Excel.XlSortOrientation.xlSortColumns, Excel.XlSortMethod.xlPinYin, Excel.XlSortDataOption.xlSortNormal, Excel.XlSortDataOption.xlSortNormal, Excel.XlSortDataOption.xlSortNormal); }

Слайд 22

Дополнительные возможности объектной модели Excel

Рисование границы вокруг ячеек:
range.BorderAround(Excel.XlLineStyle.xlContinuous,Excel.XlBorderWeight. xlThin,Excel.XlColorIndex. xlColorIndexAutomatic,Type.Missing);
Заливка ячеек:
range.Interior.ColorIndex =

Дополнительные возможности объектной модели Excel Рисование границы вокруг ячеек: range.BorderAround(Excel.XlLineStyle.xlContinuous,Excel.XlBorderWeight. xlThin,Excel.XlColorIndex. xlColorIndexAutomatic,Type.Missing);
34;