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.
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.
Di seguito è riportato lo script Python per la macro
Per aggiungere una nuova macro, create il file
from scriptforge import CreateScriptService
def HelloPython():
doc = CreateScriptService("Calc")
doc.SetValue("B8", "Hello Python!")
return None
Quindi, chiudete
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
È 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.
Potete anche utilizzare un set pronto di funzioni e utilità scritte in
Dopodiché, questa funzionalità sarà disponibile in tutti i file che verranno aperti in LibreOffice Calc.