Недавно добавленные исходники • DeLiKaTeS Tetris (Тетрис) 121 • TDictionary Custom Sort 3 309 • Fast Watermark Sources 3 059 • 3D Designer 4 813 • Sik Screen Capture 3 310 • Patch Maker 3 526 • Айболит (remote control) 3 627 • ListBox Drag & Drop 2 988 • Доска для игры Реверси 81 511 • Графические эффекты 3 916 • Рисование по маске 3 223 • Перетаскивание изображений 2 606 • Canvas Drawing 2 729 • Рисование Луны 2 552 • Поворот изображения 2 161 • Рисование стержней 2 160 • Paint on Shape 1 564 • Генератор кроссвордов 2 223 • Головоломка Paletto 1 764 • Теорема Монжа об окружностях 2 209 Архив исходников
Базы данных
Графика & Мультимедиа
Сети & Интернет
Система
Разное
|
||||||||||
|
||||||||||
СТАТЬИ
. : Первые шаги в автоматизации OpenOffice.Calc
|
4.2 Запись в ячейку по ее координатам Теперь можно получать указатель на конкретную ячейку или группу ячеек и работать с ними. Для записи данных в ячейку есть три метода, название которых говорит само за себя: 1. setValue; 2. setString; 3. setFormula. Соответственно, первый вставляет число, второй – строку, третий – формулы. Чтобы получить значение, которое храниться в ячейке, надо в начале определить ее тип с помощью метода Cell.getType. Результатом работы будет одно из следующих значений: 1.0 – ячейка пуста; 2.1 – в ячейке число; 3.2 – строка; 4.3 - формула. После этого можно узнать значение, для этого в зависимости от результата работы метода getType надо вызвать методы соответственно: getValue, getString, getFormula. Единственное, что мы не сделали – не получили указатель на ячейку. Сделать это можно несколькими способами, в зависимости от цели. В листинге 13 приведен пример записи в ячейку текста, ячейка задается своими координатами.
В данном случае мы получаем ячейку по ее координатам: Cell := Sheet.getCellByPosition(col, row). Потом записываем в эту ячейку текст. 4.3 Запись в ячейку по метке Разобравшись с простым, перейдем к главному – работе с метками. Некоторые основы мы уже разобрали при работе с Writer'ом. Теперь будет легче. В листинге 14 приведен пример вставки текста в ячейку, которая задается меткой.
Разберемся подробнее. Переменная i:boolean – флаг для проверки метки на ее существование. j – счетчик для цикла проверки. Perem – количество листов в книге, которое мы можем получить с помощью метода getCount, вызванного для Sheets. Вначале мы устанавливаем указатель конкретного листа Sheet на первый лист в книге. И пытаемся найти метку, заданную именем Name на этом листе: try Sheet.getCellRangeByName(Name). Если метки нет, то мы просто устанавливаем активным следующий лист и проверяем дальше пока не найдем такую метку или пока поймем, что такой метки нет (тогда выдается сообщение об ошибке). Если мы эту метку найдем, то записываем туда текст: Cell.setString(Text). На этом работа этой функции заканчивается. 4.4 Запись массива в диапазон ячеек Теперь будем работать с группой ячеек. Для примера рассмотрим вставку массива из четырех элементов в группу из четырех ячеек. Процедура приведена в листинге 15.
Параметрами этой процедуры являются четыре элемента, котрые мы должны вставить в ячейки, а также имя метки (Name), присвоенной диапазону ячеек. В начале мы создаем массив из четырех элементов и присваиваем им значения, которые мы передали функции.
Далее идет проверка на наличие метки в открытом документе, эта часть кода полностью повторяет код из листинга 14. Понятно, что ее можно выделить в отдельную функцию, что и было сделано (листинг 17). Разница есть в методе записи массива. Делается это с помощью метода setDataArray. Аргументом этого метода является ранее созданный массив из четырех элементов. 4.5 Форматирование группы ячеек Теперь рассмотрим функцию форматирования группы ячеек (листинг 16).
В этой процедуре используется метод GetRange, текст которого приведен в листинге 16. Этот метод просто возвращает указатель на группу ячеек. Разберемся в параметрах, которые передаются этой функции. Name:String – имя присвоенной метки; FontName:String – имя шрифта; FontSize – размер шрифта; FontType – тип шрифта (жирный, курсив, подчеркнутый); FontColor – цвет шрифта в формате RGB; BackColor – цвет фона в формате RGB. После получения указателя на диапазон ячеек мы проверяем параметры и устанавливаем новые свойства для этого диапазона. Если мы ввели новое имя шрифта, тогда мы устанавливаем этот шрифт для диапазона ячеек Name с помощью метода charFontName: Range.charFontName:=FontName Точно также устанавливаем новый размер шрифта с помощью метода charHeight: Range.charHeight:=FontSize; Теперь рассмотрим установку FontType. Вариантов значения параметра FontType может быть всего 8. 1.0 – тогда шрифт остается стандартным; 2.1 – тогда шрифт подчеркнутый; 3.2 – курсив; 4.3 – подчеркнутый + курсив; 5.4 – жирный; 6.5 – жирный + подчеркнутый; 7.6 – жирный + курсив; 8.7 – жирный + подчеркнутый + курсив. Таким образом, мы делаем побитовую конъюнкцию FontType с константами 1, 2 и 4 и определяем тип шрифта, который нужно установить. Например, курсив устанавливаем так: Range.charPosture:=fsItalic. С цветом шрифта и цветом фона поступаем аналогично, за их установку отвечают методы CharColor и CellBackColor: Range.charColor:=FontColor Range.cellBackColor:=BackColor
Дата: 14.05.2007, Автор: Васильков Ю. В. |
|||||||
© 2004-2024 "DS"
Соглашение пользователя / Реклама / Карта сайта Created by