הרחבת גיליון אלקטרוני ב-Google Sheets באמצעות תוספים

Google Sheets הוא פתרון של גיליון אלקטרוני מבוסס-ענן עם שיתוף פעולה בזמן אמת וכלים חזקים להצגה חזותית של נתונים, לעיבוד שלהם ולשיתוף שלהם.

אתם יכולים להרחיב את Sheets באמצעות תוספים שמשפרים את תהליך העבודה בהתאמה אישית, יוצרים קישוריות למערכות של צד שלישי ומשלבים את הנתונים מ-Sheets עם אפליקציות אחרות של Google Workspace (כמו Google Slides).

ב-Google Workspace Marketplace תוכלו לראות את התוספים ל-Sheets שאנשים אחרים יצרו.

מה אפשר לעשות

ריכזנו כאן כמה דברים שאפשר לעשות בעזרת תוסף שמרחיב את Google Sheets:

תוספים ל-Sheets נוצרים באמצעות Apps Script. למידע נוסף על קבלת גישה ל-Google Sheets וניהול שלו באמצעות Apps Script, אפשר לעיין במאמר הרחבת Google Sheets.

מבנה הגיליון

גיליון אלקטרוני ב-Google Sheets מורכב מגיליון אחד או יותר. כל גיליון הוא למעשה רשת דו-מימדית של תאים שבהם אפשר לאחסן טקסט, מספרים, קישורים או ערכים אחרים. קבוצה של תא אחד או יותר סמוכים נקראת טווח.

שירות הגיליונות האלקטרוניים של Apps Script מספק כמה כיתות שמייצגות מבנים ארגוניים ב-Sheets (כמו Sheet ו-Range). אפשר להשתמש בכיתות האלה כדי לקרוא ולשנות את הנתונים וההתנהגות של Sheets.

טריגרים

טריגרים ב-Apps Script מאפשרים לפרויקט סקריפט להריץ פונקציה מסוימת כשמתקיימים תנאים מסוימים, למשל כשפותחים גיליון אלקטרוני או כשמתקינה תוסף.

במאמר טריגרים של תוספים מוסבר אילו טריגרים אפשר להשתמש בהם עם תוספים ל-Sheets, ומהן ההגבלות שחלות על השימוש בהם.

פונקציות מותאמות אישית

ב-Google Sheets יש כמה פונקציות מובנות כמו SUM ו-AVERAGE, שאפשר להפעיל בתוך תא ב-Google Sheets. תוספים ל-Sheets יכולים להגדיר פונקציות בהתאמה אישית נוספות כדי להשלים את הפונקציות המובנות האלה. כשמשתמש מתקין את התוסף, כל הפונקציות בהתאמה אישית שמוגדרות בתוסף זמינות באופן מיידי. תוסף יכול לכלול רק הגדרות של פונקציות בהתאמה אישית. הדרך העיקרית לשתף הגדרות של פונקציות בהתאמה אישית היא לפרסם תוסף שמכיל את ההגדרות.

יצירת פונקציות מותאמות אישית של תוספים

אפשר להשתמש בכל פונקציה שמוגדרת בפרויקט של סקריפט של תוסף כפונקציה בהתאמה אישית. אחרי שמטמיעים את הפונקציה ומתקינים את התוסף, אפשר להפעיל את הפונקציה בהתאמה אישית כמו כל פונקציה מובנית אחרת ב-Sheets: בתא ב-Sheets, מזינים את = ואחריו את שם הפונקציה ואת הפרמטרים הנדרשים. אם אין שגיאות, התוצאה שמוחזרת על ידי הפונקציה ממוקמת בתא בגיליון, ומתפזרת לתאים שכנים לפי הצורך.

כשיוצרים פונקציות בהתאמה אישית בתוסף, צריך לפעול לפי ההנחיות הכלליות ליצירת פונקציות בהתאמה אישית:

בנוסף, יש כמה שיקולים מיוחדים לגבי פונקציות בהתאמה אישית שמוגדרות בתוספים:

  • כשנותנים שם לפונקציה, כדאי לנסות ליצור שם ייחודי, אולי שקשור לשם התוסף. אם שני תוספים או יותר מוגדרים בפונקציות בהתאמה אישית עם אותו שם, המשתמשים יכולים להשתמש רק באחת מהן.
  • התוסף צריך להציג בבירור את הפונקציות בהתאמה אישית שהוא מספק. חשוב לספק תגובות מדויקות של 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 באמצעות תוספים. אם תכללו הגדרת מאקרו במניפסט של תוסף, היא לא תהיה זמינה למשתמשים של אותו תוסף.