LibreOffice Calc 允许用户使用内置的 StarBasic 编程语言创建自己的函数。这种语言非常类似于 VBA 然而,由于很少使用,因此功能有限。
现代编程语言,例如 Python,提供了更多的可能性,并且拥有适用于所有场合的更广泛的附加库。
那么,让我们了解如何使用当今流行的编程语言(如 Python)创建自己的函数。
首先,让我们回顾一下如何使用标准 LibreOffice Calc 工具编写宏和函数来编写自己的程序。
下面是该函数的代码
要添加您自己的功能,请打开菜单
Function Greeting(sName As String) As String Greeting = "Hello " & sName & "!" End Function
然后,关闭 Macro Editor,返回到 LibreOffice Calc 并在任意单元格中输入该函数的名称并指定输入参数。
在 Python 上编写函数之前,我们需要首先创建一个 *.py 文件(
%APPDATA%\LibreOffice\4\user\scripts\python
如果文件夹 脚本 和 Python 缺少,您需要手动创建它们。
以下是该函数的 Python 脚本
要添加此脚本,请打开文件
def Greeting(sName):
return "Python say 'Hello' to " + sName + "!"
然后,关闭它
我们无法立即运行此函数,因为 LO Calc 接口没有与 Python 函数的直接连接。
为了解决这个问题,我们需要在StarBasic上创建一个中间函数:
Function Greeting(sName As String) As String pyFile = "myPyScripts.py" pyFunc = "Greeting" pyParams = Array(sName) ScriptProvider = CreateUNOService("com.sun.star.script.provider.MasterScriptProviderFactory").createScriptProvider("") pyScript = ScriptProvider.getScript("vnd.sun.star.script:" & pyFile & "$" & pyFunc & "?language=Python&location=user") Greeting = pyScript.invoke(pyParams, Array(), Array()) End Function
将此中间函数添加到 StarBasic 宏编辑器(菜单
现在调用 StarBasic 函数
您也可以使用现成的套件 功能 和 公用事业 写在
此后,此功能将在 LibreOffice Calc 中打开的所有文件中可用。