حماية نص الكاتب المحدد بكلمة مرور خاصة بالقسم
قم بتأمين مقطع معين ضد التعديلات الروتينية مع الحفاظ على إمكانية استخدام بقية مستند Writer، وتعرف على متى يكون تشفير الملفات هو الخيار الأفضل.
إذا كان برنامج بايثون يعمل من سطر الأوامر ولكنه لا يستطيع قراءة أو تعديل جدول البيانات المفتوح في برنامج Calc، فمن المحتمل أنه يعمل خارج بيئة LibreOffice. يجب تشغيل ماكرو بايثون الخاص ببرنامج Calc داخل عملية LibreOffice، حيث يوفر LibreOffice سياق المستند النشط. احفظ البرنامج كوحدة نمطية في مجلد برامج بايثون الخاص بك، ثم صدّر دالته باستخدام الأمر المناسب g_exportedScripts، وشغّله من مربع حوار الماكرو في برنامج Calc.
هذا هو أبسط مسار لأتمتة صغيرة مرتبطة بملف العمل المفتوح. يشرح دليل برمجة بايثون الحالي في LibreOffice كلاً من وحدات الماكرو داخل العملية وبرامج بايثون النصية المتصلة بشكل منفصل؛ وتستخدم الخطوات أدناه طريقة وحدات الماكرو داخل العملية.
يُتيح LibreOffice الوصول إلى المستند الحالي لوحدة ماكرو Python قيد التشغيل عبر المتغير العام XSCRIPTCONTEXT. يُعدّ البرنامج النصي الذي يتم تشغيله باستخدام pythonالأمر المعتاد عمليةً منفصلة، لذا فإن المتغير العام غير متاح تلقائيًا. مع ذلك، يُمكنه التواصل مع LibreOffice، لكن ذلك يتطلب إنشاء اتصال UNO بعملية Office قيد التشغيل بالفعل. لإنشاء أول وحدة ماكرو، شغّل الدالة داخل LibreOffice بدلاً من ذلك.
الماكرو في بايثون هو دالة ضمن .pyوحدة نمطية. يحدد ترتيب الوحدة النمطية g_exportedScriptsفي LibreOffice الدوال التي يجب عرضها في قائمة الماكرو. هذه التفاصيل موثقة في مرجع برمجة بايثون الخاص بـ LibreOffice .
استخدم موقع "وحدات الماكرو الخاصة بي" إذا كنت ترغب في تشغيل برنامج نصي من أي مستند LibreOffice مفتوح لحساب المستخدم الخاص بك. يُنشئ LibreOffice هذا المجلد %APPDATA%\LibreOffice\4\user\Scripts\pythonعلى نظامي التشغيل Windows و $HOME/.config/libreoffice/4/user/Scripts/pythonLinux وmacOS. إذا Scripts/pythonلم تكن المجلدات موجودة، فأنشئها. يشرح مرجع مواقع البرامج النصية أيضًا حاويات الماكرو الأخرى: وحدات ماكرو التطبيق ووحدات الماكرو المضمنة في المستند.

تُخزَّن وحدات الماكرو الخاصة بالمستندات داخل ملف مُحدد، ولا يُمكن الوصول إليها إلا أثناء فتح ذلك المستند. بالنسبة لأداة شخصية قابلة لإعادة الاستخدام، يُعدّ استخدام "وحدات الماكرو الخاصة بي" أسهل في الصيانة. تجنّب تعديل مجلد وحدات الماكرو الخاص بتطبيق LibreOffice، فقد يتطلب ذلك صلاحيات المسؤول.
افتح محرر نصوص عادي، أنشئ ملفًا hello_calc.pyفي المجلد أعلاه، وأضف ما يلي:
def hello_calc(*args):
doc = XSCRIPTCONTEXT.getDocument()
sheet = doc.Sheets[0]
sheet.getCellRangeByName("A1").setString("Hello from Python")
g_exportedScripts = (hello_calc,)
تستقبل الدالة المستند المتصل حاليًا باستدعاء الماكرو، وتختار ورقته الأولى، وتكتب سلسلة نصية تجريبية غير ضارة في الخلية A1. السطر الأخير مهم: فبدون المجموعة المُصدَّرة، قد لا تظهر الدالة كماكرو قابل للتنفيذ. احفظ الملف كنص عادي بامتداد .org .py، وليس كمستند نص منسق أو ملف ينتهي بـ .org .py.txt.

يُزوّد LibreOffice XSCRIPTCONTEXTوحدة الماكرو بالمتغير. ولا يُمرّر هذا المتغير تلقائيًا إلى الوحدات التي يستوردها الكود الخاص بك، لذا اجعل الاختبار الأول مكتفيًا بذاته. إذا قمت لاحقًا بتقسيم الدوال القابلة لإعادة الاستخدام إلى وحدات أخرى، فاتبع إرشادات استيراد وحدات Python الخاصة بـ LibreOffice .
hello_calcمن أسماء وحدات الماكرو.يمكن تشغيل الوظيفة نفسها من خلال إضافة APSO، التي توصي بها LibreOffice لكتابة البرامج النصية بلغة Python داخل العملية، كما توفر واجهة سطر أوامر Python. لا تحتاج إلى APSO لتنفيذ عملية تشغيل الماكرو الأساسية الموضحة هنا.


قم بإجراء هذه الفحوصات بالترتيب بدلاً من تغيير إعدادات الأمان العامة:
Scripts/pythonمسار المستخدم الصحيح، وأن له .pyلاحقة، وأن اسمه مكتوب بشكل صحيح g_exportedScripts. أعد فتح نافذة الماكرو؛ إذا لم يظهر الملف المضاف حديثًا في LibreOffice، فأغلق البرنامج وأعد تشغيله، ثم تحقق مرة أخرى.(hello_calc,). الفاصلة تجعل هذه المجموعة مكونة من عنصر واحد في بايثون.print()عند تشغيل وحدات ماكرو بايثون من مربع حوار الماكرو القياسي. يكتب الاختبار أعلاه في الخلية A1، لذا فإن النتيجة مرئية في ورقة العمل. ولأغراض التصحيح التفاعلي، تعرض واجهة سطر الأوامر الخاصة بـ APSO المخرجات.اختر أسلوب العملية الخارجية فقط عندما يتطلب تشغيل الأتمتة بدء التشغيل من طرفية أو مُجدوِل أو تطبيق آخر. يتطلب LibreOffice بدء عملية المكتب باستخدام قناة أو مقبس والاتصال عبر جسر UNO الخاص به؛ فالنص البرمجي المستقل العادي لا يُعادل ماكرو Calc المُدمج في العملية.
بعد النقر على "تشغيل"، انظر إلى الخلية A1 في الورقة الأولى. يجب أن تحتوي على "Hello from Python" ، ويجب أن يُظهر شريط الصيغة النص نفسه عند تحديد A1. إذا لم تتغير الخلية، فتأكد من أن المصنف المطلوب كان نشطًا وأن الماكرو مُحدد من "وحدات الماكرو الخاصة بي". بمجرد نجاح هذا الاختبار البسيط، استبدل نص الاختبار بالحساب الفعلي واختبره على نسخة من المصنف قبل استخدامه على بيانات مهمة.
قم بتأمين مقطع معين ضد التعديلات الروتينية مع الحفاظ على إمكانية استخدام بقية مستند Writer، وتعرف على متى يكون تشفير الملفات هو الخيار الأفضل.
قم بإصلاح نص جدول البيانات الذي يصعب رؤيته عن طريق التحقق من السمة ولون خط الخلية والتعبئة والتنسيق الشرطي في برنامج Calc.
تعرّف على سبب عرض برنامج Calc لنصوص الصيغ بدلاً من القيم المحسوبة، وقم بإصلاح وضع العرض، والخلايا المنسقة نصياً، وعلامات الترقيم، أو النتائج القديمة.
قم بإنشاء دمج بريد قابل لإعادة الاستخدام في برنامج Writer باستخدام بيانات المستلمين في برنامج Calc وصورة مضمنة مشتركة، ثم قم بمعاينة الرسائل الشخصية وحفظها.
قم بإيقاف تشغيل إحصائيات التحديث الاختيارية لـ LibreOffice ومطالبات تقارير الأعطال، ثم تحقق مما تغطيه الإعدادات وكيفية التحقق منها.
تنظيف المسافات، والعثور على النصوص المنظمة، وإعادة ترتيب الأسماء باستخدام أنماط التعبير النمطي في برنامج Writer التي يمكنك معاينتها قبل الاستبدال.
قم بتمكين عناصر التحكم ثنائية الاتجاه في برنامج Writer، واضبط تدفق الفقرات من اليمين إلى اليسار، وتحقق من النصوص العربية أو العبرية المختلطة دون التأثير على الكلمات والأرقام الإنجليزية.
قم بتثبيت خطوط لينكس المتوافقة مع النظام المتري أو قم بتعيين بدائل LibreOffice، مع مراعاة اختلافات ترخيص وتخطيط خطوط Microsoft.
أضف حقول نصية قابلة للاستخدام، ومربعات اختيار، وقوائم منسدلة في برنامج Writer، ثم قم بتصدير ملف PDF يمكن للمستلمين إكماله وحفظه.
قم بإصلاح الخطوط المفقودة أو المستبدلة في ملفات PDF الخاصة ببرنامج LibreOffice Writer، واختر ملف تعريف التصدير الصحيح، وتحقق من الخطوط المضمنة قبل المشاركة.