- •Государственное образовательное учреждение среднего профессионального образования Чайковский техникум промышленных технологий и управления
- •Методические рекомендации по выполнению лабораторной работы Дисциплина «Прикладное программное обеспечение»
- •Учебные
- •Организация взаимодействия с ms Excel
- •Рабочие книги ms Excel
- •Объект Workbook
- •Листы ms Excel
- •Объект Worksheet (ExcelWorksheet)
- •Работа с ячейками
- •Работа с диаграммами ms Excel
- •Упражнение 1. Работа с процессором
- •Упражнение 2. Запись информации
- •Упражнение 3. Выбор шрифта, его цвета и стиля, параметров границы и фона ячеек
- •Упражнение 4. Создание, настройка внешнего вида областей, область построения, заголовка и формирование области данных диаграммы.
- •Варианты задания на оценку «3» Вариант 1
- •Вариант 2
- •Вариант 3
- •Варианты задания на оценку «4» Вариант 4.
- •Вариант 5.
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Варианты задания на оценку «5» Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12
Объект Worksheet (ExcelWorksheet)
Объект Worksheet представляет собой конкретный рабочий лист. Все объекты Worksheet являются элементами коллекции Worksheets. В Delphi для работы с этим объектом используется специальный компонент TExcelWorksheet.
Работа с рабочими листами (как, впрочем, и с диаграммами) имеет одну особенность.
Как вы, наверное, заметили, свойство Items, используемое для доступа к элементам объекта Sheets, имеет тип IDispatch, а не Worksheet или Chart. Поэтому в данном случае для работы с элементами объекта Sheets в программе Delphi удобнее всего использовать следующий подход:
1. Поместить на форму компонент TExcelWorksheet и задать его опубликованному свойству ConnectKide значение ckAttachToInterface.
2. Для получения доступа к объекту Worksheet использовать метод ConnectTo компонента TExcelWorksheet.
Синтаксис метода ConnectTo компонента TExcelWorksheet имеет следующий вид:
procedure ConnectTo(svrIntf: _Worksheet);
В качестве параметра этому методу передается указатель на интерфейс _Worksheet сервера, с которым устанавливается соединение. Обратите внимание па то, что параметр svrlntf имеет тип _Worksheet, а не IDispatch. Однако благодаря тому, что интерфейс _Worksheet является наследником Idispatch, можно использовать оператор приведения типов as, который работает с интерфейсами точно так же, как и с классами.
ПРИМЕЧАНИЕ
___________________________________________________________________________
Метод ConnectTo можно использовать при работе с любыми объектами MS Office, имеющими соответствующие компоненты VCL, например, при использовании объекта TExcelWorkbook.
___________________________________________________________________________
Рассмотрим небольшой пример использования метода ConnectTo:
// Устанавливаем соединение с сервером Excel
ExcelApplicatlonl.Connect;
//Создаем новую рабочую книгу
ExcelApplicationl.Workbooks.Add(EmptyParam,0);
//Делаем окно Excel видимым
ExcelApplicatlonl.Visible[0]:=true:
// Подключаем компонент ExcelWorkbookl к активной рабочей книге
ExcelWorkbookl.ConnectTo(ExcelApplicationl.ActiveWorkbook);
// Создаем новый рабочий лист
ExcelWorkbookl.Worksheets.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam,0);
// Подключаем компонент ExcelWorksheetl к первому рабочему листу
index:=l:
ExcelWorksheetl.ConnectTo(ExcelWorkbookl.Worksheets.Item[index] as _Worksheet);
Нумерация рабочих листов в Excel ведется с 1.
Рассмотрим основные свойства объекта Worksheet:
Cells: Range — содержит все ячейки данного рабочего листа;
Columns: Range — содержит все колонки данного рабочего листа;
Rows: Range — содержит все строки данного рабочего листа;
Range[Cell1: OleVariant: Celll: OleVariant]: Range—является векторным и представляет ячейку или диапазон ячеек.
Из методов объекта Worksheet наиболее важным является метод Activate, который делает рабочий лист активным:
procedure Activate(Icid: integer)
Работа с ячейками
Основным объектом, используемым при работе с ячейками рабочего листа MS Excel, является объект Range. Этот объект позволяет изменять все основные атрибуты ячеек, включая граничные линии, шрифт, значения и формулы, а также выполнять ряд других операций.
Наиболее интересными для нас свойствами объекта Range являются те, что определяют содержимое ячейки. В первую очередь к ним относятся два следующих свойства:
Value: OleVariant —определяет содержимое ячейки. Если ячейка пустая, то данное свойство имеет значение EmptyParam. Может использоваться как для считывания значения из ячейки, так и для задания нового значения;
Formula: OleVariant — определяет формулу, по которой рассчитывается содержимое данной ячейки.
Объект Range обладает большим количеством методов, из которых мы коснемся наиболее важных:
function Delete(Shift: OleVariant): OleVariant—удаляет ячейки, определяемые данным объектом Range. Параметр Shift является необязательным и определяет способ сдвига ячеек в процессе замены удаленных ячеек. Он может принимать одно из двух значений: xlShiftToLeft или xlShiftUp;
function Insert (Shift: OleVariant): OleVariant — вставляет ячейку или диапазон ячеек в рабочий лист. Другие ячейки при этом сдвигаются одним из способов, который определяется аргументом Shift:
xlShiftToRight — ячейки сдвигаются вправо;
xlShiftDown — ячейки сдвигаются вниз;
function Select: OleVariant—выделяет ячейки, содержащиеся в данном диапазоне Range;
procedure Merge(Across: OleVariant) —объединяет все ячейки данного диапазона в одну. Параметр Across определяет способ объединения. Если он принимает значение true, то ячейки объединяются построчно, то есть каждая строка диапазона объединяется в одну ячейку; если же он равен false, то все ячейки диапазона объединяются в одну. Ячейка, получающаяся в результате объединения, будет содержать значение ячейки, расположенной в левом верхнем углу диапазона.
