无法在 LibreOffice 中运行 Python 宏

Posted

技术标签:

【中文标题】无法在 LibreOffice 中运行 Python 宏【英文标题】:Can't run Python macro in LibreOffice 【发布时间】:2016-04-10 15:26:53 【问题描述】:

我正在尝试学习用 Python 为 LibreOffice 编写宏。我制作了简单的宏,放入~/.config/libreoffice/4/user/Scripts/python/ 并在Tools/Macros/Organize Macros/Python.../My Macros 中找到它。到目前为止,一切都按预期工作,宏是​​可见的。

但是当我点击它时,运行按钮保持灰色。我无法运行它。有谁知道可能是什么原因?

谢谢

编辑:文件是可执行的,为了确定,我将权限设置为 777。 Python 代码有效。

EDIT2:我重新安装了 LibreOffice,它现在可以工作了。可能是我的安装有问题。 ~/.config/libreoffice/4/user/Scripts/python/ 中的脚本文件设置为可执行作品。并且@ngulam 示例甚至在重新安装之前就可以工作。

感谢您给我的所有建议,祝您有美好的一天。

【问题讨论】:

你让它可执行了吗? 我已经删除了macros 标签,因为它不适用于像这样的软件宏:宏是一种规则或模式,用于指定特定输入序列(通常是字符序列)的方式应该根据定义的过程映射到输出序列(通常也是字符序列)。 A simple Python Macro in LibreOffice 4.0 可能会有所帮助。 @martineau 是的,我读过它,即使我按照那里的说明进行操作,它也不起作用。不过还是谢谢。 【参考方案1】:

Python 中 OpenOffice/LibreOffice 的宏不必是可执行的。

该位置是正确的,尽管您可能想要创建一个子目录(例如,用于 CALC 或 WRITER)并将其放入其中 - 因为否则它将在所有其他组件中可见(它可能无法工作)。

复制后是否重启了 LibreOffice?

【讨论】:

我在这个问题下的评论中链接到的博客文章说.py文件应该放在/usr/lib/libreoffice/share/Scripts/python目录中。 我确实重新启动了 Office。我认为我做的一切都是正确的,但仍然无法正常工作。 @martineau:您引用的位置是用于 Python 脚本的系统范围安装(所有用户都可用) @lsrom:这些示例是否适用于您的系统?也许发布脚本会有所帮助;在过去,我了解到一些错误会阻止脚本名称出现 - 它们在开始时评估语法错误。【参考方案2】:

注意:对于 LO 5.2,你需要把你的蟒蛇放在这里..

/opt/libreoffice5.2/share/Scripts/python

.. 或者最好还是将链接放在一个文件夹中,您可以在没有 sudo 的情况下进行编辑,即。发出这样的命令..

cd /opt/libreoffice5.2/share/Scripts/python

sudo ln -s /home/rich/Sources/Pythons rje_pythons

/home/rich/Sources/Pythons 是您更方便的文件夹。

【讨论】:

【参考方案3】:

如果您将代码放在名为文件的函数中,并返回某些内容或 None 它应该可以工作。 示例:在 Scripts 文件夹中创建一个名为 MakeSomethingPython.py 的文件,如下所示,如您所见,我已将函数命名为 MakeSomethingPython:

#import library or function you need

def MakeSomethingPython( ):
    //code to make something
    //
    return

【讨论】:

以上是关于无法在 LibreOffice 中运行 Python 宏的主要内容,如果未能解决你的问题,请参考以下文章

无法在端口 2002 上连接 LibreOffice?

无法使 LibreOffice 在线构建

PHPSpreadsheet 自动行高不适用于 LibreOffice 最新版本

无法在 LibreOffice 中检索 XShape 的容器

如何在 LibreOffice 中运行 python 宏?

使用ROOT用户在Linux服务器上安装Libreoffice服务后,普通用户无法调用Libreoffice API