LibreOffice Calc permite a los usuarios crear sus propias funciones utilizando el lenguaje de programación integrado StarBasic. Este lenguaje es muy similar al VBA Sin embargo, tiene una funcionalidad limitada porque rara vez se utiliza.
Los lenguajes de programación modernos, como Python, ofrecen muchas más posibilidades y tienen una gama más amplia de bibliotecas adicionales para todas las ocasiones.
Entonces, aprendamos cómo crear su propia función utilizando un lenguaje de programación tan popular como Python.
Primero, recordemos cómo puede escribir su propio programa utilizando las herramientas estándar LibreOffice Calc para escribir macros y funciones.
A continuación se muestra el código de la función.
Para agregar su propia función, abra el menú
Function Greeting(sName As String) As String Greeting = "Hello " & sName & "!" End Function
Luego, cierre Macro Editor, regrese a LibreOffice Calc e ingrese el nombre de esta función en cualquier celda y especifique el parámetro de entrada.
Antes de escribir una función en Python, primero debemos crear un archivo *.py (
%APPDATA%\LibreOffice\4\user\scripts\python
Si carpetas guiones y pitón faltan, debe crearlos manualmente.
A continuación se muestra el script Python para la función
Para agregar este script, abra el archivo
def Greeting(sName):
return "Python say 'Hello' to " + sName + "!"
Luego, ciérralo
No podemos ejecutar esta función de inmediato porque la interfaz LO Calc no tiene una conexión directa con las funciones Python.
Para resolver este problema, necesitamos crear una función intermedia en 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
Agregue esta función intermedia al editor de macros StarBasic (menú
Ahora llame a la función StarBasic
También puedes utilizar un conjunto ya preparado. funciones y utilidad escrito en
Después de eso, esta funcionalidad estará disponible en todos los archivos que se abrirán en LibreOffice Calc.