يمنح LibreOffice Calc المستخدمين القدرة على إنشاء وحدات ماكرو خاصة بهم بلغة Python، ولكن هذه الوحدات لا يمكن حفظها إلا على جهاز الكمبيوتر الخاص بالمستخدم، أي في البرنامج نفسه. لسوء الحظ، لا يحتوي LO Calc على وظيفة مضمنة لحفظ نصوص Python البرمجية في ملف *.ods نفسه، مما يخلق إزعاجًا عند العمل مع هذه النصوص، حيث لا يمكن نقلها مع البيانات إلى مستخدم آخر.
يمكن حل هذه المشكلة يدويًا فقط، وذلك بإعادة تجميع ملف *.ods وإضافة نصوص Python البرمجية الضرورية.
إذن، دعنا نتعرف على كيفية تضمين نصوص Python البرمجية في ملف ODS لإتاحة إرسالها إلى مستخدمين آخرين.
يتم حفظ جميع وحدات ماكرو Python في المجلد التالي:
%APPDATA%\LibreOffice\4\user\Scripts\python
إذا كانت المجلدات Scripts و python غير موجودة، فأنت بحاجة إلى إنشائها يدويًا.
أدناه هو نص 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 الملف
يجب أيضًا تحديد مسار الملف الذي يوجد فيه ماكرو 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.