LibreOffice Calc उपयोगकर्ताओं को Python भाषा में अपने मैक्रो बनाने की सुविधा देता है, लेकिन ये मैक्रो केवल उपयोगकर्ता के पीसी पर, यानी प्रोग्राम में ही सहेजे जा सकते हैं। दुर्भाग्य से, LO Calc में Python स्क्रिप्ट को सीधे *.ods फ़ाइल में सहेजने की अंतर्निहित क्षमता नहीं है, जो ऐसे स्क्रिप्ट्स के साथ काम करने में असुविधा पैदा करता है, क्योंकि उन्हें डेटा के साथ दूसरे उपयोगकर्ता को स्थानांतरित नहीं किया जा सकता है।
इस समस्या को केवल मैन्युअल रूप से हल किया जा सकता है, अर्थात *.ods फ़ाइल को फिर से पैक करके, आवश्यक Python स्क्रिप्ट जोड़कर।
तो, आइए जानें, ODS फ़ाइल में Python स्क्रिप्ट कैसे एम्बेड करें, ताकि उन्हें अन्य उपयोगकर्ताओं को भेजने की क्षमता हो।
सभी Python मैक्रो निम्नलिखित फ़ोल्डर में सहेजे जाते हैं:
%APPDATA%\LibreOffice\4\user\Scripts\python
यदि फ़ोल्डर Scripts और python गायब हैं, तो आपको उन्हें मैन्युअल रूप से बनाना होगा।
नीचे मैक्रो
एक नया मैक्रो जोड़ने के लिए,
from scriptforge import CreateScriptService
def HelloPython():
doc = CreateScriptService("Calc")
doc.SetValue("B8", "Hello Python!")
return None
फिर,
Python स्क्रिप्ट को *.ods फ़ाइल में स्थानांतरित करने के लिए, इसे किसी भी आर्काइवर (7-zip, WinRAR, आदि) के साथ एक अलग फ़ोल्डर में अनपैक करना आवश्यक है। हाँ, यह सही है, आपकी *.ods फ़ाइल केवल फ़ोल्डरों और फ़ाइलों के एक सेट का एक संग्रह है।
इसके बाद इस अनज़िप किए गए फ़ोल्डर में एक सबफ़ोल्डर Scripts बनाएँ, और उसके अंदर - एक सबफ़ोल्डर python। अगले चरण में,
फ़ाइल का पाथ भी स्पष्ट रूप से निर्दिष्ट करना आवश्यक है, जहाँ आपका Python मैक्रो स्थित है। इसके लिए, META-INF फ़ोल्डर में, manifest.xml फ़ाइल को संपादित करें, निम्नलिखित पंक्ति जोड़कर:
<manifest:file-entry manifest:full-path="Scripts/python/myPyScripts.py" manifest:media-type="application/binary"/>
अब, पहले अनज़िप किए गए फ़ोल्डर की सामग्री को अपने परिवर्तनों के साथ एक *.zip संग्रह में संग्रहित करें। इसके बाद, इस संग्रह का नाम बदलें, इसका नाम बदलकर (ताकि आपकी मूल फ़ाइल ओवरराइट न हो) और एक्सटेंशन को *.zip से *.ods में बदलें।
आप
इसके बाद, यह कार्यक्षमता उन सभी फ़ाइलों में उपलब्ध होगी, जो LibreOffice Calc में खोली जाएँगी।