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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

קטע הקוד לדוגמה בקובץ המניפסט הבא מציג את הקטע בmanifest שמגדיר את המאקרו של 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.