עריכה ועיצוב של טקסט באמצעות טווחים של טקסט, שמיוצגים על ידי הסוג 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,שמספק את רכיבי הטקסט שחופפים לטווח הטקסט הנוכחי. A text run is a segment of text where all the characters have the same text style.
עיצוב טקסט
סגנון הטקסט קובע את העיבוד של תווי הטקסט במצגת, כולל גופן, צבע והיפר-קישור.
הפונקציה getTextStyle של טווח טקסט מספקת אובייקט TextStyle שמשמש לעיצוב טקסט. האובייקט TextStyle מכסה את אותו הטקסט כמו האובייקט TextRange שברמה העליונה.
בדוגמה הקודמת, קודם נוצר תיבת טקסט בשקף הראשון והתוכן שלה מוגדר ל-"Hello ". אחר כך הטקסט "world!" מצורף אליה. הטקסט החדש שנוסף
מודגש, מקושר ל-www.example.com והצבע שלו מוגדר
לאדום.
כשקוראים סגנונות, הפונקציה מחזירה null אם לטווח יש כמה ערכים<0x0A>לסגנון. לכן, בדוגמה הזו נוצרות ההצהרות הבאות ביומן:
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