LibreOffice 中不能 运行 Python 宏

Can't run Python macro in LibreOffice

我正在尝试学习在 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 示例甚至在重新安装之前就可以工作。

感谢你给我的所有建议,祝你今天愉快。

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

位置正确,但您可能想创建一个子目录(例如,用于 CALC 或 WRITER),并将其放入其中 - 否则它将在所有其他组件中可见(可能无法正常工作) ).

复制后是否重启了LibreOffice?

注意:对于 LO 5.2,您需要将 python 放在这里..

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

.. 或者更好的办法是将 link 放入一个文件夹中,您可以在其中进行编辑而无需 sudo 即。发出这样的命令..

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

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

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

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

#import library or function you need

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