מתבצעת הרחבה של Google Sheets

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

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

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

שנתחיל?

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

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

קריאת נתונים

נניח שיש לכם רשימה של שמות מוצרים ומספרי מוצרים שאתם מאחסנים גיליון אלקטרוני, כפי שמוצג בתמונה למטה.

הדוגמה הבאה מראה איך לאחזר ולרשום את שמות המוצרים ואת המוצרים ביומן .

function logProductInfo() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log('Product name: ' + data[i][0]);
    Logger.log('Product number: ' + data[i][1]);
  }
}

צפייה ביומנים

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

בתהליך כתיבת נתונים

כדי לאחסן נתונים, כמו שם ומספר של מוצר חדש מוסיפים את הקוד הבא בסוף הסקריפט.

function addProduct() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}

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

תפריטים וממשקי משתמש מותאמים אישית

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

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

אם אתם מתכננים לפרסם את הממשק המותאם אישית שלכם כחלק , style guide כדי לשמור על עקביות של עורך Google Sheets.

מתבצעת התחברות ל-Google Forms

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

עיצוב

בכיתה Range יש שיטות כמו setBackground(color) כדי לגשת לפורמט של תא או טווח תאים ולשנות את הפורמט שלהם. הבאים כך ניתן להגדיר את סגנון הגופן של טווח:

function formatMySpreadsheet() {
  // Set the font style of the cells in the range of B2:C2 to be italic.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getRange('B2:C2');
  cell.setFontStyle('italic');
}

אימות נתונים

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

function validateMySpreadsheet() {
  // Set a rule for the cell B4 to be a number between 1 and 100.
  var cell = SpreadsheetApp.getActive().getRange('B4');
  var rule = SpreadsheetApp.newDataValidation()
     .requireNumberBetween(1, 100)
     .setAllowInvalid(false)
     .setHelpText('Number must be between 1 and 100.')
     .build();
  cell.setDataValidation(rule);
}

למידע נוסף על עבודה עם כללי אימות נתונים, ראו SpreadsheetApp.newDataValidation(), DataValidationBuilder, ו-Range.setDataValidation(rule)

תרשימים

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

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.BAR)
     .addRange(sheet.getRange('A1:B15'))
     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

למידע נוסף על הטמעת תרשים בגיליון האלקטרוני, את EmbeddedChart כלים ספציפיים ליצירת תרשימים, כמו EmbeddedPieChartBuilder

פונקציות מותאמות אישית ב-Google Sheets

פונקציה מותאמת אישית דומה לפונקציה פונקציה מובנית של גיליון אלקטרוני כמו =SUM(A1:A5) מלבד ההגדרה של על ההתנהגות של כל פונקציות באמצעות Apps Script. לדוגמה, אפשר ליצור הפונקציה in2mm(), שממירה ערך מאינצ'ים למילימטרים, ואז משתמשת את הנוסחה בגיליון האלקטרוני על ידי הקלדת =in2mm(A1) או =in2mm(10) בתא.

כדי לקבל מידע נוסף על פונקציות מותאמות אישית, כדאי לנסות את תפריטים ופונקציות בהתאמה אישית מדריך למתחילים של 5 דקות, או כדאי לעיין במדריך המעמיק יותר המדריך לשימוש בפונקציות מותאמות אישית.

פקודות מאקרו

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

תוספים ל-Google Sheets

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

טריגרים

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

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