LibreOffice Calc oferă utilizatorilor posibilitatea de a crea propriile macro-uri în limbajul Python, însă aceste macro-uri pot fi stocate doar pe PC-ul utilizatorului, adică în programul în sine. Din păcate, LO Calc nu are o capacitate încorporată de a stoca scripturi Python în fișierul *.ods în sine, ceea ce creează inconveniente în lucrul cu astfel de scripturi, deoarece acestea nu pot fi transmise împreună cu datele către un alt utilizator.
Această problemă poate fi rezolvată doar manual, și anume prin reambalarea fișierului *.ods, adăugând scripturile Python necesare.
Așadar, să aflăm cum puteți încorpora scripturi Python într-un fișier ODS, pentru a le putea trimite altor utilizatori.
Toate macro-urile Python sunt stocate în următoarea locație:
%APPDATA%\LibreOffice\4\user\Scripts\python
Dacă folderele Scripts și python lipsesc, trebuie să le creați manual.
Mai jos este un script Python pentru macro-ul
Pentru a adăuga un macro nou, creați fișierul
from scriptforge import CreateScriptService
def HelloPython():
doc = CreateScriptService("Calc")
doc.SetValue("B8", "Hello Python!")
return None
Apoi, închideți
Pentru a transfera scriptul Python într-un fișier *.ods, trebuie să-l dezarhivați cu orice program de arhivare (7-zip, WinRAR etc.) într-un folder separat. Da, este corect, fișierul dumneavoastră *.ods este pur și simplu o arhivă de foldere și fișiere.
Apoi, în acest folder dezarhivat, creați un subfolder Scripts, iar în el - un subfolder python. Următorul pas este să copiați fișierul
De asemenea, este necesar să specificați explicit calea către fișierul unde se află macro-ul dumneavoastră Python. Pentru aceasta, în folderul META-INF, editați fișierul manifest.xml, adăugând următoarea linie:
<manifest:file-entry manifest:full-path="Scripts/python/myPyScripts.py" manifest:media-type="application/binary"/>
Acum arhivați conținutul folderului anterior dezarhivat cu modificările dumneavoastră într-o arhivă *.zip. Apoi, redenumiți această arhivă, schimbându-i numele (pentru a nu suprascrie fișierul original) și extensia de la *.zip la *.ods.
Puteți, de asemenea, să utilizați un set gata făcut de funcții și utilități scrise în
După aceasta, această funcționalitate va fi disponibilă în toate fișierele care vor fi deschise în LibreOffice Calc.