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

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