انتخاب ، محتوایی است که روی یک صفحه ارائه باز تمرکز دارد، مانند یک متن هایلایت شده یا یک جدول. این راهنما نحوه دریافت و تنظیم انتخاب در یک ارائه فعال با استفاده از Apps Script را شرح میدهد.
یک اسکریپت فقط میتواند به انتخابهای کاربری که اسکریپت را اجرا میکند دسترسی داشته باشد.
این انتخاب، تصویری از وضعیت اولیهی اسکریپت است. اگر کاربر کلیک کند و انتخاب در حین اجرای اسکریپت تغییر کند، آن تغییرات اعمال نخواهند شد.
انتخابها و نوع انتخاب
با استفاده از کلاس Selection، موارد انتخاب شده را بخوانید. این کلاس بر اساس نوع شیء(های) انتخاب شده، متدهای مختلفی برای دریافت اشیاء انتخاب شده دارد.
نوع شمارشی SelectionType نوع خاصی از اشیاء انتخاب شده را نشان میدهد. برای مثال، اگر کاربر متنی را در یک شکل انتخاب کرده باشد، نوع انتخاب TEXT خواهد بود. در این حالت، میتوانید محدوده انتخاب شده متن را با استفاده از متد selection.getTextRange() بازیابی کنید.
همچنین میتوانید شیء حاوی انتخاب را بازیابی کنید. برای مثال، میتوانید شکلی را که شامل متن انتخاب شده است با استفاده از selection.getPageElementRange().getPageElements()[0] بازیابی کنید. به طور مشابه، صفحهای که شامل شکل در برگیرنده است، صفحه فعال فعلی است؛ برای بازیابی آن صفحه، از selection.getCurrentPage() استفاده کنید.
خواندن متن انتخاب شده
برای خواندن انتخاب، از متد Presentation.getSelection() همانطور که در مثال زیر نشان داده شده است، استفاده کنید:
صفحه فعلی را بخوانید
برای بازیابی صفحه فعلی که کاربر در حال مشاهده آن است، از متدهای getSelection() و getCurrentPage() به شرح زیر استفاده کنید:
توجه داشته باشید که صفحه فعلی میتواند هر یک از انواع زیر باشد:
صفحه فعلی میتواند یک یا چند شیء انتخاب شده داشته باشد و SelectionType نوع انتخاب را تعیین میکند.
انتخاب را بر اساس نوع انتخاب بخوانید
مثال زیر نشان میدهد که چگونه میتوانید از نوع انتخاب برای خواندن انتخاب فعلی به روشی متناسب با نوع استفاده کنید.
انتخابهای متن را بخوانید
متن انتخاب شده را با استفاده از متد Selection.getTextRange() بخوانید. دو نوع انتخاب متن وجود دارد:
- انتخاب محدوده : اگر شکلی حاوی متن "سلام" باشد و "او" انتخاب شده باشد، محدودهی برگردانده شده دارای startIndex=0 و endIndex=2 خواهد بود.
- انتخاب مکاننما : اگر شکلی حاوی متن "Hello" باشد و مکاننما بعد از "H" ("H|ello") باشد، محدودهی برگردانده شده، محدودهی خالی با startIndex=1 و endIndex=1 خواهد بود.
اصلاح انتخاب
اسکریپت میتواند انتخاب کاربر را تغییر دهد. هرگونه تغییر انتخابی که اسکریپت در ارائه ایجاد میکند، در عملیات انتخاب بعدی در طول اجرای اسکریپت منعکس میشود.
تغییرات انتخاب فقط پس از اتمام اجرای اسکریپت یا هنگام فراخوانی Presentation.saveAndClose() در مرورگر کاربر منعکس میشوند.
انتخاب صفحه فعلی
یک صفحه در ارائه فعال میتواند با فراخوانی متد selectAsCurrentPage() به عنوان صفحه فعلی انتخاب شود. این متد هرگونه عنصر صفحه، صفحه یا متن انتخاب شده قبلی را حذف میکند. بنابراین استفاده از این متد در صفحه فعلی به شما امکان میدهد هرگونه انتخاب فعلی در صفحه را از حالت انتخاب خارج کنید. به عنوان مثال:
انتخاب یک عنصر صفحه
برای انتخاب یک عنصر صفحه در یک صفحه، از متد PageElement.select() استفاده کنید. این متد همچنین عناصر صفحهای که قبلاً انتخاب شدهاند را از حالت انتخاب خارج میکند.
متدهای select() و select(true) معادل یکدیگر هستند.
برای مثال:
انتخاب چندین عنصر صفحه
برای اضافه کردن عناصر صفحه اضافی به انتخاب، از متد PageElement.select(false) استفاده کنید. تمام عناصر صفحه باید در صفحه فعلی باشند.
انتخاب را تغییر شکل دهید
ویرایشهایی که اسکریپت شما انجام میدهد میتواند انتخاب فعلی را تغییر دهد ، به طوری که آنچه انتخاب شده است در نتیجه ویرایش تغییر کند. برای مثال:
- فرض کنید دو شکل A و B را انتخاب کردهاید.
- در مرحله بعد، اسکریپت شما شکل A را حذف میکند.
- در نتیجه، ناحیه انتخاب شده در برابر ویرایش تغییر شکل میدهد تا فقط شکل B انتخاب شود.
مثال زیر نشان میدهد که چگونه میتوان با دستکاری عناصر صفحه انتخاب شده، ناحیه انتخاب شده را تغییر شکل داد.
انتخاب متن
متن موجود در یک شکل یا در یک سلول جدول را میتوان با استفاده از متد TextRange.select() انتخاب کرد. اگر متن در یک شکل قرار داشته باشد، آن شکل نیز انتخاب میشود. اگر متن در یک سلول جدول قرار داشته باشد، آن سلول جدول و جدول در برگیرنده آن هر دو انتخاب میشوند.
این همچنین صفحه والد را به عنوان صفحه فعلی تنظیم میکند.
انتخاب محدوده در یک شکل
مثال زیر نحوه انتخاب محدودهای را در متن موجود در یک شکل نشان میدهد.
انتخاب مکان نما در یک شکل
مثال زیر نحوه انتخاب مکاننما را در متن موجود در یک شکل نشان میدهد.
انتخاب محدوده در یک سلول جدول
مثال زیر نحوه انتخاب محدودهای را در متن موجود در یک سلول جدول نشان میدهد.
انتخاب مکان نما در TableCell
مثال زیر نحوه انتخاب مکاننما را در متن موجود در یک سلول جدول نشان میدهد.
تبدیل انتخاب با ویرایشهای متنی
مثال زیر نشان میدهد که چگونه میتوان با ویرایش متن انتخابشده، ناحیه انتخابشده را تغییر شکل داد.
لغو انتخاب
هیچ روش صریحی برای لغو انتخاب متن یا عناصر صفحه وجود ندارد. با این حال، این نتیجه را میتوان با استفاده از روشهای Page.selectAsCurrentPage() یا pageElement.select() به دست آورد.
انتخاب صفحه فعلی
مثال زیر نحوهی لغو انتخابهای فعلی در یک صفحه را با تنظیم آن صفحه به عنوان صفحهی فعلی نشان میدهد.
انتخاب یک عنصر صفحه
مثال زیر نشان میدهد که چگونه میتوان با انتخاب یک عنصر صفحه، انتخابهای فعلی در یک صفحه را از حالت انتخاب خارج کرد و در نتیجه سایر موارد را از انتخاب حذف کرد.