תפריטים מותאמים אישית ב-Google Workspace

סקריפטים יכולים להרחיב מוצרים מסוימים של Google על ידי הוספת רכיבים לממשק המשתמש, שבלחיצה עליהם מתבצעת הפעלה של פונקציה ב-Apps Script. הדוגמה הנפוצה ביותר היא הפעלת סקריפט מפריט תפריט בהתאמה אישית ב-Google Docs,‏ Sheets,‏ Slides או Forms, אבל אפשר להפעיל פונקציות של סקריפט גם בלחיצה על תמונות ותרשימים ב-Google Sheets.

תפריטים מותאמים אישית ב-Google Docs‏, Sheets‏, Slides או Forms

אפשר להשתמש ב-Apps Script כדי להוסיף תפריטים חדשים ב-Google Docs,‏ Sheets,‏ Slides או Forms, כאשר כל פריט בתפריט מקושר לפונקציה בסקריפט. (ב-Google Forms, תפריטים מותאמים אישית גלויים רק לעורכים שפותחים את הטופס כדי לשנות אותו, ולא למשתמשים שפותחים את הטופס כדי להשיב).

אפשר ליצור תפריט באמצעות סקריפט רק אם הוא מקושר למסמך, לגיליון האלקטרוני או לטופס. כדי להציג את התפריט כשהמשתמש פותח קובץ, כותבים את קוד התפריט בתוך פונקציית onOpen().

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

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp, SlidesApp or FormApp.
  ui.createMenu('Custom Menu')
      .addItem('First item', 'menuItem1')
      .addSeparator()
      .addSubMenu(ui.createMenu('Sub-menu')
          .addItem('Second item', 'menuItem2'))
      .addToUi();
}

function menuItem1() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the first menu item!');
}

function menuItem2() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the second menu item!');
}

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

תמונות ושרטוטים שניתן ללחוץ עליהם ב-Google Sheets

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

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

      function showMessageBox() {
        Browser.msgBox('You clicked it!');
      }
    
  3. חוזרים אל Sheets ומוסיפים תמונה או שרטוט על ידי בחירה באפשרות הוספה > תמונה או הוספה > שרטוט.

  4. אחרי שמוסיפים את התמונה או את הציור, לוחצים עליהם. בפינה השמאלית העליונה יופיע בורר קטן של תפריט נפתח. לוחצים עליו ובוחרים באפשרות Assign script.

  5. בתיבת הדו-שיח שמופיעה, מקלידים את שם הפונקציה ב-Apps Script שרוצים להריץ, ללא סוגריים – במקרה הזה, showMessageBox. לוחצים על אישור.

  6. לוחצים שוב על התמונה או על הציור. הפונקציה מופעלת עכשיו.