TOP

Come incorporare Python script in ODS file

Descrizione

LibreOffice Calc offre agli utenti la possibilità di creare le proprie macro in linguaggio Python, tuttavia, queste macro possono essere salvate solo sul PC dell'utente, cioè nel programma stesso. Sfortunatamente, LO Calc non ha la capacità integrata di salvare gli script Python nel file *.ods stesso, il che crea inconvenienti quando si lavora con tali script, poiché non è possibile trasferirli insieme ai dati a un altro utente.

Questo problema può essere risolto solo manualmente, vale a dire re-impacchettare il file *.ods, aggiungendo gli script Python necessari.

Quindi, scopriamo come è possibile incorporare gli script Python in un file ODS in modo che possano essere inviati ad altri utenti.


Python Folder

Tutte le macro Python sono memorizzate nella seguente cartella:

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

Se le cartelle Scripts e python sono assenti, è necessario crearle manualmente.

Codice della macro Python

Di seguito è riportato lo script Python per la macro HelloPython, che scrive la frase "Hello Python!" nella cella "B8" nel programma LibreOffice Calc.

Per aggiungere una nuova macro, create il file myPyScripts.py e apritelo usando Notepad++ (o Windows Notepad) e copiate il testo seguente al suo interno:

from scriptforge import CreateScriptService

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

Quindi, chiudete Notepad++ e tornate a LibreOffice Calc. Per eseguire questo script, aprite il menu Tools - Macros - Organise Macros - Python..., selezionate "My Macros", espandete la cartella "myPyScripts" e selezionando HelloPython cliccate il pulsante Run.

Trasferimento di Python script nel file ODS

Per trasferire lo script Python nel file *.ods, è necessario estrarlo con qualsiasi programma di archiviazione (7-zip, WinRAR, ecc.) in una cartella separata. Sì, è corretto, il vostro file *.ods è semplicemente un archivio di cartelle e file.

Quindi, in questa cartella estratta, create una sottocartella Scripts, e al suo interno, una sottocartella python. Il passo successivo è copiare il file myPyScripts.py nella cartella python.

È inoltre necessario specificare esplicitamente il percorso del file in cui si trova la vostra macro Python. A tal fine, nella cartella META-INF modificate il file manifest.xml, aggiungendo la seguente riga:

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

Ora, archiviate il contenuto della cartella precedentemente estratta con le vostre modifiche in un archivio *.zip. Successivamente, rinominate questo archivio, cambiando il suo nome (per non sovrascrivere il vostro file originale) e l'estensione da *.zip a *.ods.

Utilizzo dell'estensione

Potete anche utilizzare un set pronto di funzioni e utilità scritte in Python installando l'estensione YLC Utilities.

Dopodiché, questa funzionalità sarà disponibile in tutti i file che verranno aperti in LibreOffice Calc.

Menu YLC Utilities in LO Calc

Menu YLC Utilities in LO Calc

Menu YLC Utilities in Excel

Menu YLC Utilities in Excel