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