无法在 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 宏的主要内容,如果未能解决你的问题,请参考以下文章
PHPSpreadsheet 自动行高不适用于 LibreOffice 最新版本