TOP

Como incorporar Python script em arquivo ODS

Descrição

LibreOffice Calc dá aos usuários a capacidade de criar suas próprias macros na linguagem Python, no entanto, essas macros só podem ser armazenadas no PC do usuário, ou seja, no próprio programa. Infelizmente, o LO Calc não tem a capacidade interna de armazenar Python scripts no próprio arquivo *.ods, o que causa inconvenientes ao trabalhar com esses scripts, pois não podem ser transferidos junto com os dados para outro usuário.

Este problema só pode ser resolvido manualmente, ou seja, reembalando o arquivo *.ods, adicionando os necessários Python scripts.

Então, vamos aprender como incorporar Python scripts em arquivo ODS, para que seja possível enviá-los a outros usuários.


Python Folder

Todas as macros em Python são armazenadas na seguinte pasta:

%APPDATA%\LibreOffice\4\user\Scripts\python

Se as pastas Scripts e python estiverem ausentes, você precisará criá-las manualmente.

Código Python macro

Abaixo está o Python script para a macro HelloPython, que escreve a frase "Hello Python!" na célula "B8" no programa LibreOffice Calc.

Para adicionar uma nova macro, crie o arquivo myPyScripts.py e abra-o usando Notepad++ (ou Windows Notepad) e copie o texto abaixo para ele:

from scriptforge import CreateScriptService

def HelloPython():
    doc = CreateScriptService("Calc")
    doc.SetValue("B8", "Hello Python!")
    return None

Em seguida, feche Notepad++ e volte para o LibreOffice Calc. Para executar este script, abra o menu Tools - Macros - Organise Macros - Python..., selecione "My Macros", expanda a pasta "myPyScripts" e selecionando HelloPython clique no botão Run.

Transferindo Python script para arquivo ODS

Para transferir o Python-script para o arquivo *.ods, é necessário descompactá-lo com qualquer arquivador (7-zip, WinRAR etc.) em uma pasta separada. Sim, está correto, seu arquivo *.ods é simplesmente um arquivo de um conjunto de pastas e arquivos.

Em seguida, nesta pasta descompactada, crie uma subpasta Scripts e dentro dela, uma subpasta python. Como próximo passo, copie o arquivo myPyScripts.py para a pasta python.

Também é necessário especificar explicitamente o caminho para o arquivo onde sua Python macro está localizada. Para isso, na pasta META-INF edite o arquivo manifest.xml, adicionando a seguinte linha:

<manifest:file-entry manifest:full-path="Scripts/python/myPyScripts.py" manifest:media-type="application/binary"/>

Agora, comprima o conteúdo da pasta previamente descompactada com suas alterações em um arquivo *.zip. Em seguida, renomeie este arquivo, mudando seu nome (para não sobrescrever seu arquivo original) e a extensão de *.zip para *.ods.

Usando a extensão

Você também pode usar um conjunto pronto de funções e utilitários escritos em Python instalando a extensão YLC Utilities.

Depois disso, esta funcionalidade estará disponível em todos os arquivos que forem abertos no LibreOffice Calc.

Menu YLC Utilities no LO Calc

Menu YLC Utilities no LO Calc

Menu YLC Utilities no Excel

Menu YLC Utilities no Excel