在 Python 中定义 LibreOffice Calc 自定义函数
Define a LibreOffice Calc custom function in Python
我正在 LibreOffice Calc 中编写自定义函数。
必须在 Calc 中调用此类函数,就好像它们是本机函数一样
函数,
e.g. as EDATE()
, DAYS()
etc.
到目前为止,我为每个自定义函数所做的是:
- 定义一个Python函数
- 定义一个 StarBasic 函数调用它的 Python 通讯对象
- 从 Calc 中调用 StarBasic 函数
能用,但是每个函数都写起来很不实用
用两种语言。
我的问题是:是否可以编写这样的函数
直接在 Python 中?你有什么参考分享吗?
Calc 加载项是一个完整的解决方案,具有 Basic 用户定义函数无法提供的工具提示弹出窗口等功能。
这比编写 Basic-Python 桥接调用需要更多的努力。但是,由于您正在编写许多函数,因此可能不会有太多额外的工作,因为它们都可以放在一个 .oxt 文件中。
所需文件的示例在我的回答中 https://ask.libreoffice.org/en/question/133794/how-to-use-develop-addins-in-calc/?answer=133870#post-id-133870。
其他示例和文档:
- https://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=83856
- https://ask.libreoffice.org/en/question/10219/writing-user-defined-functions-in-python/
- How can I call a Python macro in a cell formula in OpenOffice.Org Calc?
如果您尝试并需要帮助,请编辑问题。或者 post ask.libreoffice.org 上的某些内容,只要您至少有少量声誉,它就允许附件。
我正在 LibreOffice Calc 中编写自定义函数。 必须在 Calc 中调用此类函数,就好像它们是本机函数一样 函数,
e.g. as
EDATE()
,DAYS()
etc.
到目前为止,我为每个自定义函数所做的是:
- 定义一个Python函数
- 定义一个 StarBasic 函数调用它的 Python 通讯对象
- 从 Calc 中调用 StarBasic 函数
能用,但是每个函数都写起来很不实用 用两种语言。
我的问题是:是否可以编写这样的函数 直接在 Python 中?你有什么参考分享吗?
Calc 加载项是一个完整的解决方案,具有 Basic 用户定义函数无法提供的工具提示弹出窗口等功能。
这比编写 Basic-Python 桥接调用需要更多的努力。但是,由于您正在编写许多函数,因此可能不会有太多额外的工作,因为它们都可以放在一个 .oxt 文件中。
所需文件的示例在我的回答中 https://ask.libreoffice.org/en/question/133794/how-to-use-develop-addins-in-calc/?answer=133870#post-id-133870。
其他示例和文档:
- https://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=83856
- https://ask.libreoffice.org/en/question/10219/writing-user-defined-functions-in-python/
- How can I call a Python macro in a cell formula in OpenOffice.Org Calc?
如果您尝试并需要帮助,请编辑问题。或者 post ask.libreoffice.org 上的某些内容,只要您至少有少量声誉,它就允许附件。