אפשר לערוך ולעצב טקסט באמצעות טווחים של טקסט, שמיוצגים על ידי הסוג TextRange
. TextRange
מייצג פלח טקסט בתוך צורה או בתוך תא בטבלה. הפעלת getText()
על צורה או על תא בטבלה מחזירה טווח טקסט שכולל את כל הטקסט.
אם משתמשים בשיטות שמשנות את האופן שבו הטקסט מתאים לצורה, כל הגדרות ההתאמה האוטומטית שמוגדרות לצורה מושבתות.
שימוש בטווחים של טקסט
לכל טווח טקסט יש שני אינדקסים שמגדירים את קטע הטקסט שכלול בטווח: אינדקס ההתחלה ואינדקס הסיום. אפשר לקבוע את האינדקסים האלה באמצעות הפונקציות getStartIndex()
ו-getEndIndex()
.
כדי לקרוא את התוכן של טווח טקסט, משתמשים בפונקציות asString()
או asRenderedString()
.
כדי לאחזר טווח משנה מתוך טווח טקסט, משתמשים בפונקציה getRange()
.
הסקריפט הבא יוצר תיבת טקסט בשקף הראשון ומגדיר את תוכן הטקסט שלה ל-"Hello world!". לאחר מכן, היא מאחזרת טווח משנה שכולל רק את המחרוזת Hello.
טווח הטקסט שמוחזר על ידי צורה או תא בטבלה תמיד יכסה את כל הטקסט, גם אם הטקסט מוכנס ונמחק. לכן, הדוגמה שלמעלה יוצרת את הצהרות היומן הבאות:
Start: 0; End: 13; Content: Hello world! Start: 0; End: 5; Content: Hello
הזנה ומחיקה של טקסט
אפשר גם להוסיף ולמחוק צורות טקסט ותאים בטבלה באמצעות טווחי טקסט.
insertText()
ו-appendText()
מאפשרים להוסיף טקסט.-
setText()
מחליפה את הטקסט של טווח טקסט בטקסט שצוין. -
clear()
מוחקת טקסט מתוך טווח טקסט.
הסקריפט הבא מדגים את השימוש בפונקציות האלה:
הסקריפט הזה יוצר תיבת טקסט בשקף הראשון ומגדיר את תוכן הטקסט שלה ל-"Hello world!". לאחר מכן היא מוחקת את התווים 6 עד 11 (world) ומוסיפה את הטקסט galaxy באינדקס 6 במקום זאת. הדוגמה שלמעלה יוצרת את הצהרת היומן הבאה:
Start: 0; End: 14; Content: Hello galaxy!
חיפוש והחלפה
אפשר להשתמש בפונקציה replaceAllText()
במצגת או בדף כדי לבצע חיפוש והחלפה גלובליים בכל המצגת או בדף ספציפי.
הפונקציה find()
ב-TextRange מחזירה את המופעים של מחרוזת בטווח. אפשר להשתמש בו יחד עם setText()
כדי לבצע פעולת חיפוש והחלפה בתוך צורה או תא בטבלה.
פסקאות, פריטים ברשימה ורצפים
הפונקציה TextRange
מספקת פונקציות להחזרת אוספים שימושיים של ישויות טקסט.
חלק מהפונקציות האלה כוללות:
-
getParagraphs(),
שמספק את כל הפסקאות שחופפות לטווח הטקסט. פסקה היא רצף של טקסט שמסתיים בתו מעבר לשורה חדשה, '\n'. -
getListParagraphs(),
שמחזירה את הפריטים ברשימה בטווח הטקסט הנוכחי. -
getRuns(),
שמספק את רכיבי הטקסט שחופפים לטווח הטקסט הנוכחי. רצף טקסט הוא קטע טקסט שבו לכל התווים יש אותו סגנון טקסט.
עיצוב טקסט
סגנון הטקסט קובע את העיבוד של תווי הטקסט במצגת, כולל הגופן, הצבע וההיפר-קישור.
הפונקציה getTextStyle()
של טווח טקסט מספקת אובייקט TextStyle
שמשמש לעיצוב טקסט. האובייקט TextStyle
מכסה את אותו הטקסט כמו אובייקט האב שלו TextRange
.
בדוגמה שלמעלה, קודם נוצר תיבת טקסט בשקף הראשון והתוכן שלה מוגדר ל-"Hello ". אחר כך הטקסט "world!" מצורף אליה. הטקסט החדש שנוסף מודגש, מקושר ל-www.example.com
והצבע שלו מוגדר לאדום.
כשקוראים סגנונות, הפונקציה מחזירה null אם לטווח יש כמה ערכים לסגנון. לכן, הקוד לדוגמה שלמעלה יוצר את הצהרות היומן הבאות:
Text: Hello; Bold: false Text: world!; Bold: true Text: Hello world!; Bold: null
יש עוד הרבה סגנונות שאפשר להחיל על טקסט. פרטים נוספים זמינים במאמרי העזרה של TextStyle
.
עיצוב פסקאות
סגנונות פסקה חלים על פסקאות שלמות, וכוללים דברים כמו יישור טקסט ומרווח בין שורות. הפונקציה getParagraphStyle() ב-TextRange
מספקת אובייקט ParagraphStyle
לעיצוב כל הפסקאות שחופפות לטווח הטקסט של רכיב האב.
בדוגמה הבאה נוצר תיבת טקסט בשקף הראשון עם ארבע פסקאות, ואז מתבצע יישור למרכז של שלוש הפסקאות הראשונות.
עיצוב רשימה
בדומה ל-ParagraphStyle
, אפשר להשתמש ב-ListStyle
כדי לעצב את כל הפסקאות שחופפות לטווח הטקסט של רכיב האב.
בדוגמה שלמעלה נוצרת תיבת טקסט בשקף הראשון, שמכילה ארבע פסקאות: הפסקה השנייה מוזחת פעם אחת והפסקה השלישית מוזחת פעמיים. לאחר מכן, הוא מחיל הגדרה קבועה מראש של רשימה על כל הפסקאות. לבסוף, מתבצע רישום של רמת ההזחה של כל פסקה. (רמת הקינון של הפסקה נקבעת לפי מספר התווים של Tab לפני הטקסט של הפסקה). לכן הסקריפט שלמעלה יוצר את הצהרות היומן הבאות:
Paragraph 1's nesting level: 0 Paragraph 2's nesting level: 1 Paragraph 3's nesting level: 2 Paragraph 4's nesting level: 0