Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Libre Office  (Прочитано 680823 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kompilainenn

  • Участник
  • *
  • Сообщений: 199
    • Просмотр профиля
Re: Libre Office
« Ответ #2310 : 22 Декабря 2018, 16:30:41 »
Супер
Я пытался перевести то, что есть в вики, однако я бросил это дело, потому что очень уж специфичный текст, связанный с программированием, да еще написан гиком.
На всякий случай оставлю ссылки, какие есть:

https://wiki.documentfoundation.org/Macros/Python_Design_Guide
https://wiki.openoffice.org/wiki/Python

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Libre Office
« Ответ #2311 : 22 Декабря 2018, 20:59:51 »
Супер.
С учетом того, что здесь написано:
Цитировать
OpenOffice's IDE doesn't support Python, so development has to be done from another editor that does
не лез бы я в это дело. Отслеживать ошибки в коде будет та еще морока...
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн Kompilainenn

  • Участник
  • *
  • Сообщений: 199
    • Просмотр профиля
Re: Libre Office
« Ответ #2312 : 22 Декабря 2018, 23:49:50 »
не лез бы я в это дело. Отслеживать ошибки в коде будет та еще морока...
есть одна штука, которая может перевесить, - питон скрипты работают на порядки быстрее, чем басиковые

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Libre Office
« Ответ #2313 : 23 Декабря 2018, 06:55:31 »
RemDerBauer,
(Нажмите, чтобы показать/скрыть)
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн DoctorRover

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 1987
  • Ubuntu 23.04, 23.10
    • Просмотр профиля
Re: Libre Office
« Ответ #2314 : 07 Февраля 2019, 21:26:08 »
Выпуск офисного пакета LibreOffice 6.2

Цитата: OpenNews
Организация The Document Foundation опубликовала релиз офисного пакета LibreOffice 6.2. Готовые установочные пакеты подготовлены для различных дистрибутивов Linux, Windows и macOS, а также в редакции для развёртывания online-версии в Docker.

Читать далее (ключевые новшества)...

Главная ссылка к новости: TDF blog -- The Document Foundation announces LibreOffice 6.2 with NotebookBar, the office suite which offers the most flexible user experience

LibreOffice 6.2: Примечания к выпуску

Блог ProLibreOffice: Выпуск LIbreOffice 6.2

OMG!Ubuntu!: LibreOffice 6.2 Released, This is What’s New
« Последнее редактирование: 08 Февраля 2019, 14:43:55 от DoctorRover »
You're never too old to Rock'n'Roll if you're too young to die.

Оффлайн DoctorRover

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 1987
  • Ubuntu 23.04, 23.10
    • Просмотр профиля
Re: Libre Office
« Ответ #2315 : 27 Марта 2019, 00:49:25 »
Наконец-то LO обновился из PPA (ppa:libreoffice/ppa) до версии 6.2.
И сразу до 6.2.2.2.
You're never too old to Rock'n'Roll if you're too young to die.

Оффлайн AlexeyN

  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Libre Office
« Ответ #2316 : 29 Марта 2019, 11:17:24 »
Всем привет, Ubuntu 16.04 64
Обновился до 6.2.2 и вылезла такая бяка:
$ libreoffice
/usr/lib/libreoffice/program/soffice.bin: /usr/lib/libreoffice/program/libuno_sal.so.3: version `LIBO_UDK_6.1' not found (required by /usr/lib/libreoffice/program/libmergedlo.so)
Подскажите новичку, в какую сторону копать??
------------------------
вопрос снят, помог реинсталл
« Последнее редактирование: 29 Марта 2019, 11:49:51 от AlexeyN »

Оффлайн drion

  • Активист
  • *
  • Сообщений: 875
    • Просмотр профиля
Re: Libre Office
« Ответ #2317 : 29 Марта 2019, 21:45:35 »
Парни, у меня такой вопрос:
есть документ(проект)составленный в Либре с множеством формул.
Мысль наверное не новая - где-то в начале работы объявить переменные, затем все расчёты происходят автоматически и на выходе получается однотипный документ, но с другими результатами расчётов.
Подскажите,как это можно реализовать?
« Последнее редактирование: 29 Марта 2019, 21:47:42 от drion »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Libre Office
« Ответ #2318 : 29 Марта 2019, 21:55:53 »
drion, это ж базовый функционал.
(Нажмите, чтобы показать/скрыть)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Libre Office
« Ответ #2319 : 29 Марта 2019, 22:20:26 »
где-то в начале работы объявить переменные, затем все расчёты происходят автоматически и на выходе получается однотипный документ
Варианта тут видится навскидку два в зависимости от сложности структуры выходного отчета. Первый, если отчет простой, - создание отдельного листа прямо в книге Calc, и на этом листе верстка отчета таким, каким он должен быть на печати. Форматируем ячейки, объединяем что хотим и где хотим, настраиваем параметры страницы для печати, прописываем ссылки в целевых ячейках на результаты вычислений (формулой "=объединить()" можно многого добиться, если заморочиться). Результат сохраняем. Ячейки, в которых исходные данные выделяем на видное место. Принцип: ввели новые данные - вывели на печать лист с отчетом. Для простеньких одностраничных документов работает без проблем и заморочек. Второй вариант, если отчет реально сложный, большой и многостраничный - надо смотреть в сторону макросов. Здесь, например, некоторая справочная информация (правда на английском - на русском мне пока хэлп по этому вопросу не попадался). Если хоть раз писали скрипты на VBA в EXCEL - разобраться, думаю, будет не сложно. Сам пока с такой необходимостью не сталкивался. Идея такова: составить такой код в BASIC (или ином языке из тех, что поддерживаются Вашим LibreOffice), который бы создавал новый экземпляр writer, открывал в нем заранее составленный шаблон документа и вгонял необходимые результаты в необходимые поля (либо без шаблона - в этом случае верстка документа выполняется с нуля).
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Libre Office
« Ответ #2320 : 29 Марта 2019, 22:27:42 »
Во writer через OLE можно таблицу calc закинуть. Попроще, чем программировать макросы - но нужно будет подгонять форматирование. Для ряда задач - возможно, не подойдёт.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн maks05

  • Старожил
  • *
  • Сообщений: 6786
    • Просмотр профиля
Re: Libre Office
« Ответ #2321 : 29 Марта 2019, 22:44:50 »
Во writer через OLE можно таблицу calc закинуть.
В новой версии только что реализовали прямую вставку, без OLE.

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Libre Office
« Ответ #2322 : 30 Марта 2019, 00:00:41 »
Попроще, чем программировать макросы
Только возможности всегда значительно уже. А в макросах, в сущности, ничего сложного нет.
drion, продолжаю переманивать на "темную сторону". Приведу пример макроса. Имею: книга calc, на листе "Лист1" которой занесена такая вот информация:
Значение 112
Значение 214
Сумма:=B1+B2
Добавляю макрос через меню Сервис -> Макросы -> Управление макросами -> LibreOffice Basic...
Нахожу свой текущий документ "Без имени 1", выделяю его подобъект Standart, и нажимаю "Создать". Даю произвольное имя (Module 1). Открывается окно редактора IDE. Ввожу вместо имеющегося там такой код:
Код: (vb) [Выделить]
REM  *****  BASIC  *****

'Процедура генерации отчета в Writer по данным нескольких ячеек в Calc
Sub GenerateReport
Dim oDoc as Object 'создаваемый документ writer
Dim oText as Object 'объект "Текст" создаваемого документа
Dim curString as String 'текущая строка (для простоты понимания процесса)
Dim localCalc as Object 'Книга Calc
Dim localSheets as Object 'Рабочие листы книги
Dim curSheet as Object 'текущий рабочий лист
Dim curCell as Object 'текущая обрабатываемая ячейка
'подключаемся к рабочему листу:
localCalc = ThisComponent
localSheets = localCalc.Sheets
curSheet = localSheets.getByName("Лист1")
'создаем документ и подключаемся к нему:
oDoc = StarDesktop.loadComponentFromURL( "private:factory/swriter", "_blank", 0, Array() )
oText = oDoc.getText()
'формируем строку
curString = "Я узнал как создавать документ." & chr(13)
'выводим на печать строку:
oText.insertString(oText.getEnd(), curString, False)
'формируем строки на основе значений ячеек листа1 этой рабочей книги:
curCell = curSheet.getCellByPosition(1,0) 'координаты ячейки: (строка,столбец), счет в отличие от Excel идет с нуля
curString = "Значение в ячейке B1 листа Лист1 текущей книги: " & curCell.Value & chr(13)
oText.insertString(oText.getEnd(), curString, False)
curCell = curSheet.getCellByPosition(1,1) 'координаты ячейки: (строка,столбец), счет в отличие от Excel идет с нуля
curString = "Значение в ячейке B2 листа Лист1 текущей книги: " & curCell.Value & chr(13)
oText.insertString(oText.getEnd(), curString, False)
curCell = curSheet.getCellByPosition(1,2) 'координаты ячейки: (строка,столбец), счет в отличие от Excel идет с нуля
curString = "Значение в ячейке B3 листа Лист1 текущей книги: " & curCell.Value & chr(13)
oText.insertString(oText.getEnd(), curString, False)
curString = "В ячейке B3 листа Лист1 текущей книги введена формула: " & chr(34) & curCell.FormulaLocal & chr(34) & chr(13)
oText.insertString(oText.getEnd(), curString, False)
End Sub
Это, конечно, индусский код, но всякие там циклы и развилки в этом коде тоже работать будут, - я лишь демонстрирую пример. Запускаю на выполнение (F5). Получаю на выходе документ writer, в который введен следующий текст:
Цитировать
Я узнал как создавать документ.
Значение в ячейке B1 листа Лист1 текущей книги: 12
Значение в ячейке B2 листа Лист1 текущей книги: 14
Значение в ячейке B3 листа Лист1 текущей книги: 26
В ячейке B3 листа Лист1 текущей книги введена формула: "=B1+B2"
Все гут. Работает. Закрываю окно редактора кода. Чтоб всякий раз не лезть внутрь документа, прямо на лист вытаскиваю кнопку: Вставка -> Элементы управления -> Кнопка (после выбора надо курсором нарисовать кнопку на рабочем листе). Кликаю по ней правой кнопкой мыши, выбираю пункт меню "Элемент управления", прехожу на вкладку "События", нажимаю кнопку "..." около поля "Выполнить действие", в новом окне "Назначить действие" выбираю пункт "Назначенное действие" и нажимаю кнопку "Макрос...". Выбираю из перечня доступных в дереве объектов свой Module 1, нахожу процедуру GenerateReport, подтверждаю применение. Выполняю команду меню "Сервис" -> "Формы" -> "Режим разработки" (флажок отщелкивается, кнопка становится активной, ее можно жамкать). Кликаю по кнопке - появляется отчет. Меняю значение в ячейке B1 - кликаю по кнопке - ну Вы поняли...

Плюс обозначенного подхода: это лучше всего вписывается в концепцию
в начале работы объявить переменные, затем все расчёты происходят автоматически и на выходе получается однотипный документ
Можно ведь и не заморачиваться с формулами - можно все расчеты реализовать прямо в коде процедуры LibreOffice Basic...
« Последнее редактирование: 30 Марта 2019, 01:43:20 от zg_nico »
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн drion

  • Активист
  • *
  • Сообщений: 875
    • Просмотр профиля
Re: Libre Office
« Ответ #2323 : 30 Марта 2019, 10:12:08 »
То есть, как я понимаю,надо для каждой формулы обращаться к CALC?
И на каждую писать свой макрос?

В документе порядка 30стр текста, среди которого встречаются многоэтажные формулы длинной на всю ширину страницы.

Подскажите ешё, как в документе создавать ссылки,чтобы щёлкнув по ней, переместиться на другую страницу куда указывает ссылка.

Стал пробовать вариант zg_nico и тут выяснилось,что CALC не может вычислять дробные степени.
« Последнее редактирование: 30 Марта 2019, 11:44:00 от drion »

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Libre Office
« Ответ #2324 : 30 Марта 2019, 21:49:13 »
Подскажите ешё, как в документе создавать ссылки,чтобы щёлкнув по ней, переместиться на другую страницу куда указывает ссылка.
Не совсем понял о чем Вы, но если я мыслю в правильном направлении, есть встроенная формула, называется она "=ГИПЕРССЫЛКА()", в виде аргументов ей передаются URL и текстовая подпись: =ГИПЕРССЫЛКА("http://google.ru";"Поисковик Google")Вводим это в ячейку, нажимаем Enter - в ячейке появляется гиперссылка. Ctrl+клик левой кнопкой мышки на гиперссылке - открывается окно браузера, и в нем выполняется навигация на заданный URL.
выяснилось,что CALC не может вычислять дробные степени
Вот здесь вот не понял... Все он может. Вводим в А1 на листе число 4. В А2 на листе число 2,5. В А3 вводим формулу: '=A1^A2'. Нажимаем Enter, получаем результат ~55,901. В макросе: введите в код, к примеру, такую строку:MsgBox 5^2.5При выполнении этой строки кода получите такое сообщение:

Иными словами - все оно умеет... :) Рискну предположить, что Вы применили некорректный разделитель для десятичной дроби: точку следует использовать в редакторе кода, а в ячейках разделителем целой и дробной части является запятая.
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

 

Страница сгенерирована за 0.06 секунд. Запросов: 25.