Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

18 Август 2017, 02:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Требуется консультация по работе с Extension Compiler  (Прочитано 389 раз)
0 Пользователей и 1 Гость смотрят эту тему.
karpo518
Пользователь
**
Offline Offline

Сообщений: 51


« Стартовое сообщение: 21 Июль 2017, 09:57 »

Добрый день. Необходимо запаковать в расширение макрос на Python.

1. Открыл шаблон документа Extension Compiler.
2. Офис предложил сохранить его в папке с макросом. Вынес файл макроса в отдельную папку и сохранил в ней документ.
3. Открыл макросы документа и в заготовку(шаблон) вписал свои инструкции для  компиляции.
4. Запустил макрос и получил ошибку выполнения http://joxi.ru/J2bNx90IXWkN42

Сначала подумал, что сделал ошибку в коде для компиляции. Но исходный шаблон кода(заготовка) отдает точно такую же ошибку. Подскажите, в чём проблема?


* ce7c632f35.jpg (307.9 Кб, 1172x553 - просмотрено 12 раз.)
Записан

Linux Mint 18 (64 bit),  LibreOffice 5.1.6.2
Yakov
Администратор
*
Offline Offline

Сообщений: 2 224


WWW
« Ответ #1: 21 Июль 2017, 10:16 »

Какая версия LO/AOO и версия  Extension Compiler?

Я пробовал использовать подобную утиллиту (BasicAddonBuilder) для макроса на Basic,
и результат работы сильно зависит от местоположения необходимого макроса. Для стандартных библиотек не работает
упаковка в расширение.
« Последнее редактирование: 21 Июль 2017, 10:19 от Yakov » Записан

economist
Ветеран
*****
Offline Offline

Сообщений: 647


« Ответ #2: 21 Июль 2017, 10:19 »

А если просто взять и... Распространять саму библиотеку?  

Если цель - защита от кидалова, то припоминаю: как-то нужно было сделать один скриптик за плату, без Python тоже не обошлось, поскольку его модуль re просто рвет аналоги в клочья. Я зашифровал SB-библиотеку с вызовом py-скрипта, добавил в неё чтение ключа (на stackoverflow пробегает с десяток), скомпилировал в байт-код с шифрованием - и, о чудо, за 5 лет никто не поломал ни саму SB-библу, ни *.pyc. Шабашка та стоила 100 т.руб., решение почти тиражное, так что желающих поломать было больше, чем желающих купить.
Вывод: парольная защита библиотек в OpenOffice|LibreOffice - хорошая. Да и пятнично вполне...
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 147


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #3: 21 Июль 2017, 12:51 »

Подскажите, в чём проблема?
А что окошку сообщения вы уже не верите? Оно говорит, что нет в форме элемента с таким именем, значит нет, окошко врать не будет. У вас что, много элементов с именем "Results_" & ApplicationTarget ? И каким образом устанавливается переменная ApplicationTarget ?
Записан

karpo518
Пользователь
**
Offline Offline

Сообщений: 51


« Ответ #4: 24 Июль 2017, 13:47 »

Спасибо за ответы.

Какая версия LO/AOO и версия  Extension Compiler?
Linux Mint 18 (64 bit),  LibreOffice 5.1.6.2 Extention Compilier 2.1.2
BasicAddonBuilder поддерживает только макросы на basic, поэтому не подходит

А если просто взять и... Распространять саму библиотеку?
Запакованное расширение нужно исключительно для удобства пользователей. Расширение добавляет кнопку-иконку.

А что окошку сообщения вы уже не верите?

Это ошибка одного из файлов Extension Compiler. У меня нет возможности дебажить код утилиты на несколько тысяч строк, поэтому и спрашиваю в первую очередь тех, кто сталкивался с проблемой, о способах её решения.


Записан

Linux Mint 18 (64 bit),  LibreOffice 5.1.6.2
karpo518
Пользователь
**
Offline Offline

Сообщений: 51


« Ответ #5: 24 Июль 2017, 14:59 »

Макрос не мог отобразить ошибку "Instruction: beginDescriptionThis cannot be used here". Но она никак не помогла. Прикладываю инструкцию для компиляции. Подскажите, пожалуйста, в чем ошибка?
Код:
REM  *****  BASIC  *****

Option Explicit

Sub testDescription

beginDescription("tata.toto.titi.tutu", "1.2.0")
    setExtensionDescription("en")
    setPublisherName("en", "Ivan Ivanov", "http://www.oooyes.com")
    setDisplayName("en", "TestName")
    beginUpdateInformation("direct", "direct")
   setUpdateSource("http://test.tw1.ru/PlainToHTML2/", "http://test.tw1.ru/PlainToHTML2/") ' first choice
    endUpdateInformation
  endDescription  
  beginAddonUI
    beginAddonMenu
      beginCommand
        beginTitles("Writer")
          setTitle("This is an apple", "en")
        endTitles
        setURL("Python", "PlainToText2.py", "PlainToHtml")
        setImage("icon.png")
        setTarget("_self")
      endCommand
    endAddonMenu
  endAddonUI

End Sub
« Последнее редактирование: 24 Июль 2017, 15:01 от karpo518 » Записан

Linux Mint 18 (64 bit),  LibreOffice 5.1.6.2
economist
Ветеран
*****
Offline Offline

Сообщений: 647


« Ответ #6: 24 Июль 2017, 15:57 »

Кстати, раз уж про "удобства пользователей" - для этого в домене на 250 машин распространяю копированием в logon-скрипте папку C:\PortableApps, в которой OpenOffice|LibreOffice и JAVA  -  portable-версиb , с оптимальными настройками, кучей расширений и кнопок в панели, путями к Автотексту, СУБД итд. Было опасение что кому-то не понравится "ходить строем" - оказалось напрасно. Все наоборот - благодарны, что везде и у всех всё одинаково. И это даже не 250 человек, а около 500 (сменная работа).
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
karpo518
Пользователь
**
Offline Offline

Сообщений: 51


« Ответ #7: 25 Июль 2017, 10:57 »

Проблема решена. Вместо запуска макроса напрямую из IDE, нужно было нажимать на кнопку в форме документа для компиляции. Невнимательно прочитал инструкцию.
Записан

Linux Mint 18 (64 bit),  LibreOffice 5.1.6.2
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!