LibreOffice Calc kullanıcılara Python dilinde kendi makrolarını oluşturma imkanı sunar, ancak bu makrolar sadece kullanıcının bilgisayarında, yani programın kendisinde saklanabilir. Maalesef LO Calc, Python scriptlerini *.ods dosyasının içine kaydetme gibi yerleşik bir yeteneğe sahip değildir, bu da bu tür scriptlerle çalışırken zorluklar yaratır, çünkü verilerle birlikte başka bir kullanıcıya aktarılamazlar.
Bu sorun sadece manuel olarak çözülebilir, yani gerekli Python scriptlerini ekleyerek *.ods dosyasını yeniden paketleyerek.
Öyleyse, Python scriptlerini ODS dosyasına nasıl gömebileceğimizi öğrenelim ki başka kullanıcılara gönderebilme imkanımız olsun.
Tüm Python makroları aşağıdaki klasörde saklanır:
%APPDATA%\LibreOffice\4\user\Scripts\python
Eğer Scripts ve python klasörleri eksikse, bunları manuel olarak oluşturmanız gerekir.
Aşağıda
Yeni bir makro eklemek için,
from scriptforge import CreateScriptService
def HelloPython():
doc = CreateScriptService("Calc")
doc.SetValue("B8", "Hello Python!")
return None
Daha sonra,
Python scriptini *.ods dosyasına taşımak için, herhangi bir arşivleyici (7-zip, WinRAR vb.) ile ayrı bir klasöre açmanız gerekir. Evet, doğru, sizin *.ods dosyanız sadece bir klasör ve dosya kümesinin arşividir.
Ardından, bu arşivden çıkarılan klasörde Scripts adında bir alt klasör, onun içinde de python adında bir alt klasör oluşturun. Bir sonraki adımda,
Python makronuzun bulunduğu dosyanın yolunu da açıkça belirtmeniz gerekir. Bunun için META-INF klasöründe manifest.xml dosyasını düzenleyin ve aşağıdaki satırı ekleyin:
<manifest:file-entry manifest:full-path="Scripts/python/myPyScripts.py" manifest:media-type="application/binary"/>
Şimdi, daha önce arşivden çıkarılan klasörün içeriğini, değişikliklerinizle birlikte *.zip arşivine sıkıştırın. Ardından, bu arşivi yeniden adlandırın, adını (orijinal dosyanızın üzerine yazmamak için) ve uzantısını *.zip'ten *.ods'ye değiştirin.
Ayrıca, fonksiyonlar ve yardımcı programlardan oluşan hazır bir seti,
Bundan sonra, bu işlevsellik LibreOffice Calc'ta açılacak tüm dosyalarda kullanılabilir olacaktır.