רכיבי מאקרו ב-Google Sheets

ב-Google Sheets אפשר לתעד פקודות מאקרו שמשכפלות סדרה ספציפית של אינטראקציות בממשק המשתמש שהגדרתם. אחרי שמקליטים מאקרו, אפשר לקשר אותו למקשי קיצור בפורמט Ctrl+Alt+Shift+Number. תוכלו להשתמש במקש הקיצור הזה כדי להריץ שוב במהירות את שלבי המאקרו המדויקים, בדרך כלל במקום אחר או על נתונים אחרים. אפשר להפעיל את המאקרו גם דרך התפריט תוספים ב-Google Sheets > רכיבי מאקרו.

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

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

יצירת פקודות מאקרו ב-Apps Script

אפשר להשתמש בפונקציות שנכתבו ב-Apps Script ולהשתמש בהן כפונקציות מאקרו. הדרך הקלה ביותר לעשות זאת היא לייבא פונקציה קיימת מ-Google Sheets Editor.

לחלופין, אפשר ליצור פקודות מאקרו בעורך Apps Script על ידי ביצוע הפעולות הבאות:

  1. בממשק המשתמש של Google Sheets, בוחרים תוספים > Apps Script כדי לפתוח את הסקריפט שקשור לגיליון בעורך Apps Script.
  2. כותבים את פונקציית המאקרו. פונקציות מאקרו לא יכולות לקבל ארגומנטים ולהחזיר ערכים.
  3. עורכים את מניפסט הסקריפט כדי ליצור את המאקרו ולקשר אותו לפונקציית המאקרו. כדאי להקצות לה מקש קיצור ייחודי ושם.
  4. שומרים את פרויקט הסקריפט. לאחר מכן פקודת המאקרו זמינה לשימוש בגיליון.
  5. בודקים את פונקציית המאקרו בגיליון כדי לוודא שהיא פועלת כצפוי.

עריכה של רכיבי מאקרו

כדי לערוך פקודות מאקרו שמצורפים לגיליון, מבצעים את הפעולות הבאות:

  1. בממשק המשתמש של Google Sheets, בוחרים באפשרות תוספים > רכיבי מאקרו > ניהול רכיבי מאקרו.
  2. מוצאים את רכיב המאקרו שרוצים לערוך ובוחרים באפשרות > Edit macro. הפעולה הזו תפתח את עורך Apps Script לקובץ הפרויקט שמכיל את פונקציית המאקרו.
  3. כדי לשנות את התנהגות המאקרו, עורכים את פונקציית המאקרו.
  4. שומרים את פרויקט הסקריפט. לאחר מכן פקודת המאקרו זמינה לשימוש בגיליון.
  5. בודקים את פונקציית המאקרו בגיליון כדי לוודא שהיא פועלת כצפוי.

ייבוא פונקציות בתור רכיבי מאקרו

אם כבר יש סקריפט שמקושר לגיליון, אתם יכולים import פונקציה בסקריפט כמאקרו חדש ואז להקצות לה מקש קיצור. כדי לעשות את זה, אפשר לערוך את קובץ המניפסט ולהוסיף עוד רכיב לנכס sheets.macros[].

לחלופין, אפשר לבצע את הפעולות הבאות כדי לייבא פונקציה כמאקרו מממשק המשתמש של Sheets:

  1. בממשק המשתמש של Google Sheets, בוחרים באפשרות תוספים > רכיבי מאקרו > ייבוא.
  2. בוחרים פונקציה מהרשימה המוצגת ולוחצים על Add function.
  3. בוחרים באפשרות כדי לסגור את תיבת הדו-שיח.
  4. בוחרים באפשרות תוספים > רכיבי מאקרו > ניהול פקודות מאקרו.
  5. מאתרים ברשימה את הפונקציה שייבאתם עכשיו. מקצים קיצור דרך ייחודי למאקרו. אפשר גם לשנות כאן את השם של המאקרו; השם יוגדר כברירת מחדל לשם הפונקציה.
  6. לוחצים על Update (עדכון) כדי לשמור את הגדרת המאקרו.

מבנה מניפסט לפקודות מאקרו

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

  {
    ...
    "sheets": {
      "macros": [{
        "menuName": "QuickRowSum",
        "functionName": "calculateRowSum",
        "defaultShortcut": "Ctrl+Alt+Shift+1"
      }, {
        "menuName": "Headerfy",
        "functionName": "updateToHeaderStyle",
        "defaultShortcut": "Ctrl+Alt+Shift+2"
      }]
    }
  }

פרטים נוספים על בניית מניפסטי המאקרו של Sheets מופיעים במשאב למניפסט המאקרו של Sheets.

שיטות מומלצות

כשיוצרים או מנהלים פקודות מאקרו ב-Apps Script, מומלץ לפעול לפי ההנחיות הבאות.

  1. הביצועים של רכיבי מאקרו טובים יותר כשהם קלים. במידת האפשר, כדאי להגביל את מספר הפעולות שהמאקרו מבצע.
  2. פקודות מאקרו מתאימות במיוחד לפעולות רוטציה שצריך לחזור עליהן לעיתים קרובות ללא הגדרות או עם מעט הגדרות. לפעולות אחרות, מומלץ להשתמש במקום זאת בפריט בתפריט מותאם אישית.
  3. חשוב לזכור שמקשי הקיצור של המאקרו צריכים להיות ייחודיים, ושגיליון נתון יכול לכלול רק עשר פקודות מאקרו עם מקשי קיצור בכל רגע נתון. אפשר להריץ פקודות מאקרו נוספות רק דרך התפריט תוספים > רכיבי מאקרו.
  4. כדי להחיל רכיבי מאקרו שמבצעים שינויים בתא אחד אפשר להחיל אותם על טווח תאים. לשם כך, צריך לבחור קודם את הטווח המלא ואז להפעיל את המאקרו. כלומר, לעיתים קרובות לא צריך ליצור פקודות מאקרו שמשכפלות את אותה פעולה בטווח מוגדר מראש של תאים.

דברים שאסור לעשות

יש מספר הגבלות על הפעולות שניתן לבצע באמצעות פקודות מאקרו:

שימוש בפקודות מאקרו מחוץ לסקריפטים תחומים

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

הגדרה של פקודות מאקרו בתוספים ל-Sheets

אי אפשר להפיץ הגדרות מאקרו באמצעות תוסף של Sheets. המשתמשים בתוסף הזה מתעלמים מהגדרות המאקרו בפרויקט של תוסף Sheets.

הפצה של פקודות מאקרו בספריות סקריפטים

לא ניתן להפיץ הגדרות מאקרו באמצעות ספריות Apps Script.

שימוש בפקודות מאקרו מחוץ ל-Google Sheets

רכיבי מאקרו הם רק תכונה ב-Google Sheets ולא קיימים ב-Google Docs, ב-Forms או ב-Slides.