الجزء المحدَّد هو أي جزء محدَّد حاليًا في صفحة عرض تقديمي مفتوحة، مثل نطاق نص مميّز أو جدول. يوضّح لك هذا الدليل كيفية الحصول على الاختيار وضبطه في عرض تقديمي نشط باستخدام Apps Script.
الاختيار هو لقطة شاشة لما كان عليه النص البرمجي عند بدء تشغيله. إذا نقر المستخدم وتغيّر الاختيار أثناء تشغيل النص البرمجي، لن تظهر هذه التغييرات.
الاختيارات ونوع الاختيار
يمكنك قراءة الاختيار باستخدام فئة Selection. تحتوي الفئة على طُرق مختلفة للحصول على الكائنات المحدّدة استنادًا إلى نوع الكائنات المحدّدة.
يمثّل العنصر النائب SelectionType
النوع المحدّد للعناصر المحدّدة. على سبيل المثال، إذا حدد المستخدم
بعض النصوص في شكل، سيكون نوع التحديد
TEXT. في هذه الحالة، يمكنك استرداد النطاق المحدّد من النص باستخدام الطريقة
selection.getTextRange()
.
يمكنك أيضًا استرداد العنصر الذي يحتوي على التحديد. على سبيل المثال، يمكنك مواصلة المثال أعلاه واسترداد الشكل الذي يحتوي على النص المحدّد باستخدام selection.getPageElementRange().getPageElements()[0]
. وبالمثل، الصفحة التي
تحتوي على الشكل المحيط هي الصفحة النشطة الحالية. ل retrieving that page, use selection.getCurrentPage()
.
قراءة النص المحدَّد
لقراءة الاختيار، استخدِم الأسلوب Presentation.getSelection() كما هو موضّح في المثال التالي:
قراءة الصفحة الحالية
لاسترداد الصفحة الحالية التي يعرضها المستخدم، استخدِم الأسلوبَين getSelection() وgetCurrentPage() على النحو التالي:
يُرجى العلم أنّ الصفحة الحالية قد تكون من أيّ من الأنواع التالية:
يمكن أن تحتوي الصفحة الحالية على عنصر واحد أو أكثر تم اختياره، ويحدِّد نوع الاختيار سمة SelectionType.
قراءة الاختيار استنادًا إلى نوع الاختيار
يوضّح المثال التالي كيفية استخدام نوع الاختيار لقراءة الاختيار الحالي بطريقة مناسبة للنوع.
قراءة أجزاء من النص
يمكنك قراءة النص المحدَّد باستخدام الأسلوب Selection.getTextRange(). هناك نوعان من اختيار النص:
- اختيار النطاق: إذا كان الشكل يحتوي على النص "مرحبًا"، وتم تحديد "هو"، يكون للنطاق الذي تم إرجاعه startIndex=0 وendIndex=2.
- اختيار المؤشر: إذا كان الشكل يحتوي على النص "مرحبًا"، وكان المؤشر بعد "ح" ("ح|مرحبًا")، يكون النطاق المعروض فارغًا مع startIndex=1 وendIndex=1.
تعديل الاختيار
يمكن للنص البرمجي تعديل اختيار المستخدم. إنّ أي تغييرات على التحديد يجريها النص البرمجي على العرض التقديمي تنعكس في عمليات التحديد اللاحقة طوال مدة تنفيذ النص البرمجي.
لا تظهر تغييرات الاختيار في متصفّح المستخدم إلا بعد اكتمال تنفيذ النص البرمجي
أو عند استدعاء Presentation.saveAndClose()
.
اختيار الصفحة الحالية
يمكن اختيار صفحة في العرض النشط كصفحة حالية من خلال استدعاء الأسلوب selectAsCurrentPage(). تزيل هذه الطريقة أي عنصر صفحة أو صفحة أو نص محدّد سابقًا. وبالتالي، يتيح لك استخدام هذه الطريقة في الصفحة الحالية إلغاء اختيار أي اختيارات حالية في الصفحة. على سبيل المثال:
اختيار عنصر صفحة
لاختيار عنصر صفحة في صفحة، استخدِم الطريقة PageElement.select(). يؤدي ذلك أيضًا إلى إلغاء اختيار أي عناصر صفحة تم اختيارها في السابق.
على سبيل المثال:
اختيار عناصر صفحة متعددة
لإلحاق عناصر صفحة إضافية بالاختيار، استخدِم الأسلوب PageElement.select(false). يجب أن تكون جميع عناصر الصفحة في الصفحة الحالية.
تحويل المحتوى المحدّد
يمكن أن تؤدي التعديلات التي يُجريها النص البرمجي إلى تحويل الاختيار الحالي، بحيث يتغيّر ما تم اختياره نتيجةً للتعديل. على سبيل المثال:
- لنفترض أنّ لديك شكلَين أ و ب محدّدَين.
- بعد ذلك، يزيل النص البرمجي الشكل "أ".
- نتيجةً لذلك، يتم تحويل الاختيار إلى التعديل بحيث يتم اختيار الشكل "ب" فقط.
يوضّح المثال التالي كيفية تحويل الاختيار من خلال التلاعب بعناصر الصفحة المحدّدة.
تحديد نص
يمكن اختيار النص الوارد في شكل أو في خلية جدول باستخدام الأسلوب TextRange.select(). إذا كان النص مضمّنًا في شكل، سيتم اختيار هذا الشكل أيضًا. إذا كان النص مضمّنًا في خلية جدول، يتم اختيار خلية الجدول هذه والجدول المُحيط بها.
يؤدي ذلك أيضًا إلى ضبط الصفحة الرئيسية على أنّها الصفحة الحالية.
اختيار نطاق في شكل
يوضّح المثال التالي كيفية اختيار نطاق ضمن نص مضمّن في شكل.
اختيار المؤشر في شكل
يوضّح المثال التالي كيفية اختيار مؤشر في نص مضمّن في شكل.
اختيار نطاق في خلية جدول
يوضّح المثال التالي كيفية اختيار نطاق ضمن نص مضمّن في خلية جدول.
اختيار المؤشر في TableCell
يوضّح المثال التالي كيفية اختيار نص باستخدام المؤشر ضمن نص مضمّن في خلية جدول.
تحويل التحديد باستخدام تعديلات نصية
يوضِّح المثال التالي كيفية تحويل التحديد من خلال تعديل النص المحدّد.
إلغاء الاختيار
لا تتوفّر طرق صريحة لإلغاء اختيار النص أو عناصر الصفحة. ومع ذلك، يمكن تحقيق هذه
النتيجة باستخدام الطريقتَين Page.selectAsCurrentPage()
أو
pageElement.select()
.
اختيار صفحة حالية
يوضّح المثال التالي كيفية إلغاء اختيار أي اختيارات حالية في صفحة، وذلك من خلال ضبط تلك الصفحة على أنّها الصفحة الحالية.
اختيار عنصر صفحة
يوضّح المثال التالي كيفية إلغاء اختيار أي اختيارات حالية على صفحة من خلال اختيار عنصر صفحة واحد، وبالتالي إزالة جميع العناصر الأخرى من الاختيار.