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

Содержание

Слайд 2

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

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

Слайд 3

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

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

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

рабочий лист;
Range – диапазон ячеек.
Слайд 4

Основные операции с рабочими книгами Создание рабочей книги: Excel.Workbook wb =

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

Создание рабочей книги:
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

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

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

= 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;

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

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

[1]).Visible = Excel.XlSheetVisibility. xlSheetVeryHidden;
Слайд 7

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

Добавление нового листа в рабочую книгу:
Excel.Sheet sh = ThisWorkbook. Sheets.Add(Type.Missing, 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.

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

Основные

компоненты класса Sheets
Слайд 9

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

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

просмотр:
((Excel.Worksheet)ThisApplication. Sheets[1]).PrintPreview(false);
Выделение заданного объекта:
((Excel.Worksheet)ThisApplication. Sheets[1]).Select(Type.Missing);

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

Слайд 10

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

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

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

всех открытых рабочих книг:
foreach (Excel.Workbook wb in ThisApplication.Workbooks) wb.Save();
Слайд 11

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

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

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

rng2;
Получение активной ячейки:
rng = ThisApplication.ActiveCell;
Слайд 12

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

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

столбца:
rng = (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"); rng = ws.get_Range("A1", "C5").Cells; rng = ws.get_Range("A1",

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

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

Слайд 14

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

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

= (Excel.Range)ws.Rows["1:3", Type.Missing]; rng = (Excel.Range)ws.Columns[3, Type.Missing];

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

Слайд 15

Обращение к выделенным ячейкам: rng = ThisApplication.Selection; Объединение двух диапазонов: rng

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

F2:G5", Type.Missing);
Пересечение двух диапазонов:
rng = ThisApplication.get_Range ("A1:D16 B2:F14", Type.Missing);

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

Слайд 16

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

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

1; i <= 5; i++) rng.get_Offset(i, 0).Value2 = i.ToString();
Текущая область диапазона:
свойство CurrentRegion

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

Слайд 17

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

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

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

диапазоне:
метод Sort
Слайд 18

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

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

Слайд 19

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

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

Слайд 20

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

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

Слайд 21

Пример использования метода Sort private void DemoSort() { Excel.Range rng =

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

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

Excel.XlSortOrder.xlAscending, 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.

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

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

= 34;