Я новичок в Python и Basic. Я пытаюсь скопировать функцию IMPORTHTML из Google Sheets в LibreOffice (LO) Calc. Вкратце, я хочу создать базовую функцию GetHtmTable (Url, Table Index) в Calc, которая будет выполнять скрипт Python для выполнения тяжелой работы.
Итак, на основе великолепного примера от Villeroy я реализовал в LO 5.1.6.2. базовая функция SOUNDEX , которая вызывает скрипт Python sheetFunctions.py
для ознакомления с процессом. Моя среда Linux Mint 18, я использую Python 3, я импортировал все виды библиотек, такие как Uno, PIP и т. Д. Я использую PycharmProjects
в качестве редактора Python.
Я четко вижу в меню инструментов LO Calc-> macro-> organiz macros-> python скрипт sheetFunctions.py
Python, который действительно находится в папке /usr/lib/libreoffice/share/Scripts/python
.
Когда я запускаю функцию SOUNDEX Basic, я вижу следующее сообщение об ошибке:
ОСНОВНАЯ ошибка во время выполнения. Произошло исключение Тип:
com.sun.star.script.provider.ScriptFrameworkErrorException Сообщение:
: an
произошла ошибка при открытии файла
/usr/lib/libreoffice/program/pythonscript.py:429 в функции
getModuleByUrl () [lastRead = self.sfa.getDateTimeModified (url)]
/usr/lib/libreoffice/program/pythonscript.py:993 в функции
getScript () [mod = self.provCtx.getModuleByUrl (fileUri)]
Я попытался отладить базовую функцию SOUNDEX и обнаружил, что точка блокировки - это когда программа запускается getScript("vnd.sun.star.script:sheetFunctions.py$soundex?language=Python&location=user")
.
Я уже несколько дней пытаюсь преодолеть эту ошибку, но безуспешно должен признаться.
Интересно, нужно ли мне добавить какие-нибудь дополнительные расширения в среду Basic или отсутствующую надстройку в Linux / Python?
Я изменил location = user на location = document и снова застрял. Недавно я добавил libreoffice-script-provider-python благодаря команде sudo apt-get install libreoffice-script-provider-python
, но это не помогло. Я также включил в документ Calc скрипт Python, но это не решило проблему.