רכיבי מאקרו ב-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.