الاختيار هو ما يتم اختياره حاليًا في صفحة عرض تقديمي مفتوح، مثل نطاق النص المميز أو جدول. يوضّح لك هذا الدليل كيفية الحصول على الاختيار وضبطه في عرض تقديمي نشط باستخدام Apps Script.
التحديد هو لقطة لما كان عليه عندما بدأ النص البرمجي. إذا كان المستخدم النقرات وتغير التحديد أثناء تشغيل النص البرمجي، فإن هذه التغييرات عن التغييرات.
الاختيارات ونوع الاختيار
يمكنك قراءة التحديد باستخدام الاختيار الصف. تضم الفئة طرقًا مختلفة للحصول على الكائنات المحددة بناءً على نوع العناصر المحددة.
التعداد SelectionType
النوع المحدد من الكائنات المحددة. على سبيل المثال، إذا كان لدى المستخدم
تحدد بعض النصوص في شكل، فإن نوع التحديد
النص. في هذه الحالة، يمكنك استرداد النطاق المحدّد من النص باستخدام الطريقة
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 محددين.
- بعد ذلك، يزيل النص البرمجي الشكل A.
- ونتيجةً لذلك، يتم تحويل التحديد في ضوء التعديل بحيث لا تم تحديد الشكل B.
يوضح المثال التالي كيف يمكن تحويل التحديد من خلال معالجة عناصر الصفحة المحددة.
تحديد نص
يمكن تحديد النص الموجود في شكل أو في خلية جدول باستخدام TextRange.select(). إذا كان النص مضمّنًا في شكل، سيتم اختيار هذا الشكل أيضًا. إذا تم تضمين النص في خلية جدول، فإن خلية الجدول هذه والإطار المحيط بها الجدول المحدد.
يؤدي هذا الإجراء أيضًا إلى ضبط الصفحة الرئيسية على أنّها الصفحة الحالية.
تحديد النطاق في شكل
يوضّح المثال التالي كيفية اختيار نطاق ضمن نص مضمّن في شكل.
اختيار المؤشر في شكل
يوضح المثال التالي كيفية تحديد مؤشر ضمن النص المضمّن في شكل.
تحديد النطاق في خلية جدول
يوضح المثال التالي كيفية إجراء تحديد نطاق ضمن نص موجود في خلية جدول.
تحديد المؤشر في TableCell
يوضح المثال التالي كيفية تحديد مؤشر ضمن النص المضمّن في خلية جدول.
تحويل التحديد باستخدام التعديلات النصية
يوضح المثال التالي كيف يمكن تحويل التحديد من خلال تعديل النص المحدد.
جارٍ إلغاء الاختيار
لا تتوفّر طرق صريحة لإلغاء اختيار النص أو عناصر الصفحة. ومع ذلك، يمكن تحقيق هذه
النتيجة باستخدام الطريقتَين Page.selectAsCurrentPage()
أو
pageElement.select()
.
اختيار صفحة حالية
يوضّح المثال التالي كيفية إلغاء اختيار أي اختيارات حالية في إحدى الصفحات. من خلال تعيين هذه الصفحة كصفحة حالية.
اختيار عنصر صفحة
يوضّح المثال التالي كيفية إلغاء اختيار أي اختيارات حالية في إحدى الصفحات. عبر تحديد عنصر صفحة واحد، ومن ثم إزالة جميع العناصر الأخرى من التحديد.