انتخاب ، هر چیزی است که در حال حاضر در یک صفحه ارائه باز انتخاب شده است، مانند یک متن هایلایت شده یا یک جدول. این راهنما به شما میگوید که چگونه با استفاده از 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() استفاده کنید. این متد همچنین عناصر صفحهای که قبلاً انتخاب شدهاند را از حالت انتخاب خارج میکند.
برای مثال:
انتخاب چندین عنصر صفحه
برای اضافه کردن عناصر صفحه اضافی به انتخاب، از متد PageElement.select(false) استفاده کنید. تمام عناصر صفحه باید در صفحه فعلی باشند.
تغییر شکل انتخاب
ویرایشهایی که اسکریپت شما انجام میدهد میتواند انتخاب فعلی را تغییر دهد ، به طوری که آنچه انتخاب شده است در نتیجه ویرایش تغییر کند. برای مثال:
- فرض کنید دو شکل A و B را انتخاب کردهاید.
- در مرحله بعد، اسکریپت شما شکل A را حذف میکند.
- در نتیجه، ناحیه انتخاب شده در برابر ویرایش تغییر شکل میدهد تا فقط شکل B انتخاب شود.
مثال زیر نشان میدهد که چگونه میتوان با دستکاری عناصر صفحه انتخاب شده، ناحیه انتخاب شده را تغییر شکل داد.
انتخاب متن
متن موجود در یک شکل یا در یک سلول جدول را میتوان با استفاده از متد TextRange.select() انتخاب کرد. اگر متن در یک شکل قرار داشته باشد، آن شکل نیز انتخاب میشود. اگر متن در یک سلول جدول قرار داشته باشد، آن سلول جدول و جدول در برگیرنده آن هر دو انتخاب میشوند.
این همچنین صفحه والد را به عنوان صفحه فعلی تنظیم میکند.
انتخاب محدوده در یک شکل
مثال زیر نحوه انتخاب محدودهای را در متن موجود در یک شکل نشان میدهد.
انتخاب مکان نما در یک شکل
مثال زیر نحوه انتخاب مکاننما را در متن موجود در یک شکل نشان میدهد.
انتخاب محدوده در یک سلول جدول
مثال زیر نحوه انتخاب محدودهای را در متن موجود در یک سلول جدول نشان میدهد.
انتخاب مکان نما در TableCell
مثال زیر نحوه انتخاب مکاننما را در متن موجود در یک سلول جدول نشان میدهد.
تبدیل انتخاب با ویرایشهای متنی
مثال زیر نشان میدهد که چگونه میتوان با ویرایش متن انتخابشده، ناحیه انتخابشده را تغییر شکل داد.
عدم انتخاب
هیچ روش صریحی برای لغو انتخاب متن یا عناصر صفحه وجود ندارد. با این حال، این نتیجه را میتوان با استفاده از روشهای Page.selectAsCurrentPage() یا pageElement.select() به دست آورد.
انتخاب صفحه فعلی
مثال زیر نحوهی لغو انتخابهای فعلی در یک صفحه را با تنظیم آن صفحه به عنوان صفحهی فعلی نشان میدهد.
انتخاب یک عنصر صفحه
مثال زیر نشان میدهد که چگونه میتوان با انتخاب یک عنصر صفحه، انتخابهای فعلی در یک صفحه را از حالت انتخاب خارج کرد و در نتیجه سایر موارد را از انتخاب حذف کرد.