|
1C + Libre Office Calc | ☑ | ||
---|---|---|---|---|
0
AlexandrWRM
24.06.14
✎
07:16
|
Здравствуйте!
Вроде все ветки перечитал, так, что задам вопрос: В связи с переходом с ms на Lof, возникла необходимость переделать кучу обработок. И если с Writer не возникло проблем, то с одной из обработок формирующей книгу Calc -возникли. Разбирался по книге, скачанной с оф сайта Lof. Получаю нужный лист Листы = Book.getSheets(); Лист = Листы.getByIndex(3); Получаю, нужную мне ячейку и устанавливаю значение Лист.getCellByPosition(2,3).setString("Код"); //Здесь проблем нет. Необходимы следующие методы, которые никак не хотят у меня работать ( 1)Создать новый лист; 2)Сделать обводку (рамку) области; 3)Установить цвет ячейки; 4)Установить размер шрифта; 5)Установки Шрифта (наклонные/ жирный); 6)Объединение диапазона; ) К, примеру, по книге Лист.getCellByPosition(2,3).setPropertyValue( "BackColor", 6710932); выдает ошибку (Произошла исключительная ситуация ([automation bridge] ): com.sun.star.beans.UnknownPropertyException:). Может у кого нибудь есть пример обработки или кусок кода, где корректно работают эти методы. Буду очень признателен Libre Office (Версия: 4.2.4.2). |
|||
1
AlexandrWRM
24.06.14
✎
09:40
|
Ну, помогите, люди добрые.
|
|||
2
mastodont
24.06.14
✎
09:57
|
(1) а в LO есть запись макроса? может ей воспользоваться?
либо почитать доку по LO. |
|||
3
AlexandrWRM
24.06.14
✎
11:38
|
(2)
Да доку я читаю. Что то по ней не получается разобраться пока. На счет макросов- точно не знаю. Сейчас буду пробовать. |
|||
4
Йохохо
24.06.14
✎
11:41
|
'Author: Sasa Kelecevic
'email: [email protected] Sub ExampleSetValue Dim oDoc As Object, oSheet As Object, oCell As Object oDoc=ThisComponent oSheet=oDoc.Sheets.getByName("Sheet1") oCell=oSheet.getCellByPosition(0,0) 'A1 oCell.setValue(23658) 'oCell.NumberFormat=2 '23658.00 'oCell.SetString("oops") 'oCell.setFormula("=FUNCTION()") 'oCell.IsCellBackgroundTransparent = TRUE 'oCell.CellBackColor = RGB(255,141,56) End Sub |
|||
5
AlexandrWRM
24.06.14
✎
12:58
|
(4) Большое спасибо. oCell.CellBackColor = RGB(255,141,56) - Работает.
|
|||
6
AlexandrWRM
24.06.14
✎
14:20
|
разбираюсь по гайду LOF
Вот небольшой отрывок для добавления обрамления к диапазону ячейки oBorder = ServiceManager.Bridge_GetStruct("com.sun.star.table.BorderLine"); //Объявляем объект "обрамление" oBorder.Color = "6710932"; //"Задаем цвет обрамления" oBorder.OuterLineWidth = "100"; //"Задаем толщину линии обрамления" Лист.getCellRangeByName("D10:E20").TopBorder = oBorder; //получаем диапазон ячеек и выделяем верхнюю границу. Выделение остальных границ: LeftBorder RightBorder TopBorder BottomBorder BorderDistance LeftBorderDistance RightBorderDistance TopBorderDistance BottomBorderDistance |
|||
7
Йохохо
24.06.14
✎
14:23
|
http://www.pitonyak.org/AndrewMacro.odt примеры по ОО
|
|||
8
AlexandrWRM
25.06.14
✎
05:00
|
(7)
Спасибо. У меня такой гайд есть. Но не все, почему то работает от туда ( |
|||
9
AlexandrWRM
27.06.14
✎
05:07
|
Вообщем если кому то понадобится вот, что получилось нарыть:
1)Создать новый лист; Листы = Book.getSheets(); Листы.insertNewByName("CreatedSheet", 1) 2)Сделать обводку (рамку) области; Range = Лист.getCellRangeByName(""B2:C6""); oBorder = ServiceManager.Bridge_GetStruct("com.sun.star.table.BorderLine"); oBorder.Color = "4000000"; oBorder.OuterLineWidth = "35"; Range.TopBorder = oBorder; 3)Установить цвет ячейки; Лист.getCellByPosition(1,3).CellBackColor = "3000000"; //RGB 4)Установить размер шрифта; Лист.getCellByPosition(1,12).CharWeight = Размер; 5)Установки Шрифта (наклонные/ жирный); MakePropertyValue("Italic", True) 6)Объединение диапазона; Range.Merge(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |