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

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

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

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

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

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

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