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 מכיל גיליון אחד או יותר. כל גיליון הוא בעצם רשת דו-ממדית של תאים שבה אפשר לאחסן טקסט, מספרים, קישורים או ערכים אחרים. קבוצה של תא אחד או יותר נקראת range.
שירות הגיליונות האלקטרוניים של Apps Script כולל מספר מחלקות לייצוג מבנים ארגוניים ב-Sheets (למשל Sheet
ו-Range
). תוכלו להשתמש במחלקות האלה כדי לקרוא ולשנות את הנתונים וההתנהגות ב-Sheets.
גורמים מפעילים
טריגרים של Apps Script מאפשרים לפרויקט להפעיל פונקציה מסוימת כשמתקיימים תנאים מסוימים, למשל כשפותחים גיליון אלקטרוני או כשמתקינים תוסף.
למידע נוסף על הטריגרים שאפשר להשתמש בהם בתוספים של Sheets, תוכלו לקרוא על הטריגרים של התוספים ועל ההגבלות שחלות על השימוש בהם.
פונקציות מותאמות אישית
ב-Google Sheets יש כמה פונקציות מובנות, כמו SUM
ו-AVERAGE
, שניתן להפעיל מתוך תא ב-Google Sheets.
בתוספים של 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 באמצעות תוספים. אם כוללים הגדרת מאקרו במניפסט של תוסף, היא לא זמינה למשתמשים של אותו תוסף.