הבחירה היא התוכן שמוצג במרכז הדף של מצגת פתוחה, כמו טווח של טקסט מודגש או טבלה. במדריך הזה מוסבר איך לקבל ולשנות את הבחירה במצגת פעילה באמצעות Apps Script.
סקריפט יכול לגשת רק לבחירה של המשתמש שמריץ את הסקריפט.
הבחירה היא תמונת מצב של מה שהיה כשסקריפט התחיל. אם המשתמש ילחץ והבחירה תשתנה בזמן שהסקריפט פועל, השינויים האלה לא יבואו לידי ביטוי.
בחירות וסוג הבחירה
קוראים את הבחירה באמצעות המחלקה Selection. למחלקות יש שיטות שונות לקבלת האובייקטים שנבחרו על סמך סוג האובייקטים שנבחרו.
הספירה SelectionType מייצגת את הסוג הספציפי של האובייקטים שנבחרו. לדוגמה, אם המשתמש בחר טקסט בתוך צורה, סוג הבחירה הוא TEXT. במקרה כזה, אפשר לאחזר את טווח הטקסט שנבחר באמצעות השיטה selection.getTextRange().
אפשר גם לאחזר את האובייקט שמכיל את הבחירה. לדוגמה,
אפשר לאחזר את הצורה שמכילה את הטקסט שנבחר באמצעות
selection.getPageElementRange().getPageElements()[0]. באופן דומה, הדף שמכיל את הצורה המקיפה הוא הדף הפעיל הנוכחי. כדי לאחזר את הדף הזה, משתמשים ב-selection.getCurrentPage().
קריאת הטקסט שנבחר
כדי לקרוא את הבחירה, משתמשים במתודה Presentation.getSelection() כמו בדוגמה הבאה:
קריאת הדף הנוכחי
כדי לאחזר את הדף הנוכחי שהמשתמש צופה בו, משתמשים בשיטות getSelection() ו-getCurrentPage() באופן הבא:
שימו לב שהדף הנוכחי יכול להיות אחד מהסוגים הבאים:
יכול להיות שבדף הנוכחי נבחרו אובייקט אחד או יותר, והערך של SelectionType קובע את סוג הבחירה.
קריאת הטקסט שנבחר על סמך סוג הבחירה
בדוגמה הבאה אפשר לראות איך משתמשים בסוג הבחירה כדי לקרוא את הבחירה הנוכחית באופן שמתאים לסוג.
קריאת קטעי טקסט
קוראים את הטקסט שנבחר באמצעות השיטה Selection.getTextRange(). יש שני סוגים של בחירת טקסט:
- בחירת טווח: אם צורה מכילה את הטקסט 'Hello' ונבחר הטקסט 'He', הטווח שמוחזר הוא 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.
- כתוצאה מכך, הבחירה משתנה בהתאם לעריכה כך שרק צורה ב' נבחרת.
בדוגמה הבאה אפשר לראות איך אפשר לשנות את הבחירה באמצעות שינוי של רכיבי דף נבחרים.
בחירת טקסט
אפשר לבחור טקסט שמופיע בתוך צורה או בתא בטבלה באמצעות השיטה TextRange.select(). אם הטקסט נמצא בתוך צורה, גם הצורה נבחרת. אם הטקסט נמצא בתא בטבלה, התא והטבלה שמכילה אותו נבחרים.
הפעולה הזו מגדירה גם את דף ההורה כדף הנוכחי.
בחירת טווח בצורה סגורה
בדוגמה הבאה אפשר לראות איך בוחרים טווח בתוך טקסט שנמצא בתוך צורה.
בחירת צורה באמצעות הסמן
בדוגמה הבאה אפשר לראות איך בוחרים טקסט באמצעות הסמן בתוך צורה.
בחירת טווח בתא בטבלה
בדוגמה הבאה מוצג איך לבחור טווח בתוך טקסט שנמצא בתא בטבלה.
בחירת מיקום הסמן ב-TableCell
בדוגמה הבאה מוצג איך בוחרים טקסט באמצעות סמן בתוך תא בטבלה.
שינוי הבחירה באמצעות עריכות טקסטואליות
בדוגמה הבאה אפשר לראות איך אפשר לשנות את הטקסט שנבחר.
ביטול הבחירה
אין שיטות מפורשות לביטול הבחירה של טקסט או רכיבי דף. אבל אפשר להשיג את התוצאה הזו באמצעות השיטות Page.selectAsCurrentPage() או pageElement.select().
בחירת דף נוכחי
בדוגמה הבאה מוצג איך לבטל את הבחירה של כל הפריטים שנבחרו בדף מסוים על ידי הגדרת הדף הזה כדף הנוכחי.
בחירת רכיב בדף
בדוגמה הבאה אנחנו מראים איך לבטל את הבחירה של כל הפריטים שנבחרו בדף על ידי בחירה של רכיב דף אחד, וכך להסיר את כל הפריטים האחרים מהבחירה.