从基本函数调用Python脚本时出错

从基本函数调用Python脚本时出错,python,libreoffice-calc,libreoffice-basic,Python,Libreoffice Calc,Libreoffice Basic,我是Python和Basic的新手。我试图在LibreOffice(LO)Calc中复制googlesheets中的IMPORTHTML函数。简而言之,我想在Calc中创建一个GetHtmTable(Url,Table Index)基本函数,它将调用一个Python脚本来完成繁重的工作 因此,基于Villeroy的,我在LO 5.1.6.2中实现了。基本的SOUNDEX函数,它调用Python脚本sheetFunctions.py,以熟悉该过程。我的环境是LinuxMint18,我使用Pytho

我是Python和Basic的新手。我试图在LibreOffice(LO)Calc中复制googlesheets中的IMPORTHTML函数。简而言之,我想在Calc中创建一个GetHtmTable(Url,Table Index)基本函数,它将调用一个Python脚本来完成繁重的工作

因此,基于Villeroy的,我在LO 5.1.6.2中实现了。基本的SOUNDEX函数,它调用Python脚本
sheetFunctions.py
,以熟悉该过程。我的环境是LinuxMint18,我使用Python3,我导入了各种库,如Uno、PIP等。。我使用
PycharmProjects
作为Python编辑器

我在LO Calc菜单tools->macro->organize macros->python下清楚地看到了
sheetFunctions.py
python脚本,它确实在文件夹
/usr/lib/libreoffice/share/Scripts/python

每当我运行SOUNDEX Basic函数时,我都会看到以下错误消息:

基本运行时错误。出现异常类型: com.sun.star.script.provider.ScriptFrameworkErrorException消息: :安 打开文件时出错
/函数中的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”)

我已经努力克服这个错误好几天了,但我必须承认失败了

我想知道我是否需要在基本环境中引入一些额外的扩展,或者在Linux/Python环境中引入一个缺失的插件


我更改了location=user by location=document,然后又卡住了。我最近添加了libreoffice脚本提供程序python,这要归功于命令
sudo-apt-get-install-libreoffice脚本提供程序python
,但这没有帮助。我还在Calc文档中嵌入了Python脚本,但这并没有解决问题。

位置名称不匹配。自编脚本的标准位置在下面。这是
location=user
,例如
~/.config/libreoffice/4/user/Scripts/python

然后是
location=share
,它指的是问题中的路径。这些参数在中的Python脚本下进行了描述


另见我对这一问题的答复。如果还没有,请务必尝试APSO扩展。尤其是,当使用
location=document
时,APSO会提供帮助,因为嵌入需要几个步骤,包括编辑manifest.xml。

次要问题:问题应该是导入的uno,而不是实现的uno。