Google Sheets הוא פתרון לגיליונות אלקטרוניים מבוסס-ענן עם שיתוף פעולה בזמן אמת וכלים רבי עוצמה להדמיה, לעיבוד ולתקשור של נתונים.
אפשר להרחיב את Sheets באמצעות תוספים שמשפרים את תהליכי העבודה, יוצרים קישוריות למערכות של צד שלישי ומשלבים את הנתונים ב-Sheets עם אפליקציות אחרות של Google Workspace (כמו Google Slides).
תוכלו לראות את התוספים ל-Sheets שאחרים יצרו ב-Google Workspace Marketplace.
מה אפשר לעשות
הנה כמה דברים שאפשר לעשות באמצעות תוסף שמרחיב את Google Sheets:
- אפשר לקרוא, לערוך, להמחיש ולעצב נתונים בגיליונות אלקטרוניים של Google Sheets באמצעות שירות הגיליונות האלקטרוניים המובנה של Apps Script. השירות מאפשר גם ליצור ולשנות כללים של עיצוב מותנה ואימות נתונים.
- אתם יכולים להשתמש בשירות המתקדם של Sheets ב-Apps Script כדי לגשת ישירות אל Google Sheets API.
- אתם יכולים ליצור תפריטים בהתאמה אישית ולהגדיר כמה ממשקי תיבות דו-שיח וסרגלי צד בהתאמה אישית באמצעות HTML ו-CSS רגילים.
- אתם יכולים לכלול בהרחבה הגדרות של פונקציות בהתאמה אישית.
- אתם יכולים להשתמש בטריגרים של תוספים שמריצים פונקציות ספציפיות כשמתרחשים אירועים מסוימים.
תוספים ל-Sheets נבנים באמצעות Apps Script. מידע נוסף על גישה ל-Google Sheets וניהול שלהם באמצעות Apps Script זמין במאמר הרחבת Google Sheets.
מבנה הגיליון
גיליון אלקטרוני ב-Google Sheets מורכב מגיליון אחד או יותר. כל גיליון הוא בעצם רשת דו-ממדית של תאים שאפשר לאחסן בהם טקסט, מספרים, קישורים או ערכים אחרים. קבוצה של תא אחד או יותר סמוכים נקראת טווח.
Spreadsheet service של Apps Script מספק כמה מחלקות לייצוג מבנים ארגוניים ב-Sheets (כמו Sheet
ו-Range
). אפשר להשתמש במחלקות האלה כדי לקרוא ולשנות את הנתונים וההתנהגות של Sheets.
טריגרים
טריגרים ב-Apps Script מאפשרים להריץ פונקציה מסוימת בפרויקט סקריפט כשמתקיימים תנאים מסוימים, למשל כשפותחים גיליון אלקטרוני או כשמתקינים תוסף.
מידע נוסף על הטריגרים שאפשר להשתמש בהם בתוספים של Sheets ועל ההגבלות שחלות על השימוש בהם זמין במאמר בנושא טריגרים של תוספים.
פונקציות מותאמות אישית
ב-Google Sheets יש מספר פונקציות מובנות כמו SUM
ו-AVERAGE
שאפשר להפעיל מתוך תא ב-Google Sheets.
תוספים ל-Sheets יכולים להגדיר פונקציות מותאמות אישית בנוסף לפונקציות המובנות האלה. כשמשתמש מתקין את התוסף, כל הפונקציות המותאמות אישית שמוגדרות בו זמינות באופן מיידי. יכול להיות שתוסף יכלול רק הגדרות של פונקציות בהתאמה אישית. הדרך העיקרית לשתף עם אחרים הגדרות של פונקציות מותאמות אישית היא לפרסם תוסף שמכיל את ההגדרות.
יצירת פונקציות מותאמות אישית לתוספים
אפשר להשתמש בכל פונקציה שמוגדרת בפרויקט של סקריפט תוסף כפונקציה בהתאמה אישית. אחרי שמטמיעים את הפונקציה ומתקינים את התוסף, אפשר להפעיל את הפונקציה המותאמת אישית כמו כל פונקציה מובנית אחרת ב-Sheets: בתא בגיליון, מזינים את =
ואחריו את שם הפונקציה ואת הפרמטרים הנדרשים. אם אין שגיאות, התוצאה שמוחזרת על ידי הפונקציה מוצבת בתא בגיליון, ואם צריך היא גולשת לתאים הסמוכים.
כשיוצרים פונקציות בהתאמה אישית בתוסף, צריך לפעול לפי ההנחיות הכלליות לגבי פונקציות בהתאמה אישית:
- הנחיות למתן שמות לפונקציות
- הגדרת ארגומנטים של פונקציות
- הגדרת ערך ההחזרה של הפונקציה
- סוגי נתונים של פונקציות בהתאמה אישית
- הפעלת השלמה אוטומטית באמצעות JSDoc
- פונקציות מותאמות אישית שניתן להשתמש בהן בשירותים
- אופטימיזציה של פונקציות בהתאמה אישית
בנוסף, יש כמה שיקולים מיוחדים לגבי פונקציות מותאמות אישית שמוגדרות בתוספים:
- כשנותנים שם לפונקציה, כדאי ליצור שם ייחודי, שאולי קשור לשם של התוסף. אם שני תוספים מותקנים או יותר מגדירים פונקציות מותאמות אישית עם אותו שם, המשתמשים יכולים להשתמש רק באחת מהן.
- חשוב לציין בבירור אילו פונקציות מותאמות אישית התוסף מספק. חשוב לספק תגובות JSDoc מדויקות לפונקציות המותאמות אישית, כדי ש-Apps Script יוכל להציג למשתמש מידע על השלמה אוטומטית. בנוסף, מומלץ לספק תיעוד נוסף של הפונקציות המותאמות אישית בתוסף עצמו או בדף אינטרנט לתמיכה בתוסף.
- פונקציות בהתאמה אישית שלא מסתיימות תוך פחות מ-30 שניות נכשלות עם שגיאת
Internal error executing the custom function
. כדי ליצור חוויית משתמש טובה, כדאי להגביל את כמות העיבוד שמבצעים בפונקציה מותאמת אישית. מבצעים אופטימיזציה לפונקציה ככל האפשר. - פונקציות בהתאמה אישית לא יכולות להשתמש בשירותי Apps Script שדורשים הרשאה, ואם מנסים לעשות זאת, הן נכשלות עם השגיאה
You do not have permission to call X service
. אפשר להשתמש בפונקציה בהתאמה אישית רק בשירותים המותרים. - כל פונקציה מותאמת אישית בגיליון יוצרת קריאה נפרדת לשרתים של Apps Script. אם משתמש מנסה להשתמש בפונקציות בהתאמה אישית ביותר מדי תאים, יכול להיות שהפונקציות יפעלו לאט. כדי לצמצם את הסיכון הזה, כדאי להשתמש בפונקציות מותאמות אישית פשוטות ככל האפשר. אם אתם צריכים שהפונקציה תבצע עיבוד מורכב או ממושך, אל תשתמשו בפונקציה בהתאמה אישית – במקום זאת, ספקו את הפונקציונליות הזו באמצעות אינטראקציה עם פריט בתפריט, תיבת דו-שיח או סרגל צד.
פקודות מאקרו ב-Sheets
פונקציות מאקרו מאפשרות להקליט פעולות שבוצעו ב-Google Sheets ולחזור עליהן מאוחר יותר באמצעות מקש קיצור. כשיוצרים מאקרו בגיליון, הוא נוסף כפונקציית מאקרו בפרויקט Apps Script שמקושר לגיליון הזה. מידע נוסף על מאקרו זמין במאמר בנושא מאקרו ב-Google Sheets.
לצערנו, אי אפשר להפיץ פקודות מאקרו של Sheets עם תוספים. אם כוללים הגדרת מאקרו במניפסט של תוסף, היא לא זמינה למשתמשים בתוסף הזה.