LibreOffice Calc permite que os usuários criem suas próprias funções usando a linguagem de programação StarBasic integrada. Essa linguagem é muito parecida com VBA , no entanto, tem funcionalidade limitada porque raramente é usado.
Linguagens de programação modernas, como Python, oferecem muito mais possibilidades e possuem uma gama mais ampla de bibliotecas adicionais para todas as ocasiões.
Então, vamos aprender como você pode criar sua própria função usando uma linguagem de programação tão popular hoje como Python.
Primeiro, vamos lembrar como você pode escrever seu próprio programa usando as ferramentas padrão LibreOffice Calc para escrever macros e funções.
Abaixo está o código da função
Para adicionar sua própria função, abra o menu
Function Greeting(sName As String) As String Greeting = "Hello " & sName & "!" End Function
Em seguida, feche Macro Editor, retorne para LibreOffice Calc e insira o nome desta função em qualquer célula e especifique o parâmetro de entrada.
Antes de escrever uma função em Python, precisamos primeiro criar um arquivo *.py (
%APPDATA%\LibreOffice\4\user\scripts\python
Se pastas roteiros e píton faltando, você precisa criá-los manualmente.
Abaixo está o script Python para a função
Para adicionar este script, abra o arquivo
def Greeting(sName):
return "Python say 'Hello' to " + sName + "!"
Então feche-o
Não podemos executar esta função imediatamente porque a interface LO Calc não tem uma conexão direta com as funções Python.
Para resolver este problema, precisamos criar uma função intermediária em 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
Adicione esta função intermediária ao editor de macro StarBasic (menu
Agora chame a função StarBasic
Você também pode usar um conjunto pronto funções e utilidade escrito em
Depois disso, esta funcionalidade estará disponível em todos os arquivos que serão abertos em LibreOffice Calc.