הפעלת סקריפט בגוגל שיטס
-
@בער כתב בהפעלת סקריפט בגוגל שיטס:
אם אני רוצה להוסיף עוד פונקציה כזאת לאותו קובץ, צריך לשנות משהו בשם של הפונקציה? כמו לכתוב onEdit1 onEdit2?
לא. אפשר להגדיר רק טריגר עריכה אחד, אבל אפשר לעשות ככה:
function onEdit(e) { var sheetName1 = "מחשבון מילוי פחיות"; var cell1 = "A1"; var sheetName2 = "מחשבון מילוי פחיות"; var cell2 = "A2"; var sheet_e = e.source.getActiveSheet().getName(); var cell_e = e.range.getA1Notation(); Logger.log(e) Logger.log(sheet_e) Logger.log(cell_e) if (sheet_e == sheetName1 || cell_e == cell1) { // כאן תרשום את שם הפונקצי להרצה במקרה וערכת את תא A1 } else if (sheet_e == sheetName2 || cell_e == cell2) { // כאן תרשום את שם הפונקציה להרצה במידה וערכת את תא A2 } else { // כאן תרשום מה יקרה במידה והתא הנערך אינו אחד מהקודמים (ניתן להשאיר ריק) } }
אתה יכול להוסיף כמה טווחים וelse if שאתה רוצה...
-
@בער כתב בהפעלת סקריפט בגוגל שיטס:
יש אפשרות בתוך סקריפט שחלק מהסקריפט נמצא בקובץ אחד וחלק עובד על קובץ שני?
כן.
אתה יכול לקבל טווח בכל קובץ גוגל שיטס ולעבוד עליו בדיוק כפי שאתה עובד על הקובץ המאוגד לסקריפט, רק שתצטרך קודם לקבל את הקובץ למשתנה, וכל פעולה לבצע על המשתנה.לדוגמה באמצעות איידי
let sheetFile = SpreadsheetApp.openById("האיידי של הקובץ");
או באמצעות הלינק
let sheetFile = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/gmtumriexoprtc8um/edit');
דוגמה למימוש
function files() { fileId = `1m9wO0hnZiNxF_TpDUnIQE` sheetName = `סטטיסטיקות` var sheetFile = SpreadsheetApp.openById(fileId); Logger.log(sheetFile.getName()); // מדפיס את שם הקובץ ללוג var sheet = sheetFile.getSheetByName(sheetName); sheet.getRange('A1').setValue("אני נכתבתי באמצעות סקריפט נחמד!"); }
הקוד הזה יכתוב בתא A1 בגליון בשם "סטטיסטיקות" בקובץ עם האיידי שתכניסו.
שים לב, שניתן לערוך גם קבצים בבעלות של משתמשים אחרים בתנאי שיש לך הרשאת עריכה.
-
לאחר ש @בער פנה אלי בפרטי, הוברר שלעיתים חוזרת שגיאת אימות הרשאות בקוד האחרון (לעריכת קובץ אחר), לכן במידה וזה קורה צריך להוסיף באופן ידני את היקפי ההרשאות לקובץ המניפסט של הסקריפט
"oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets" ],
בשביל להציג את המניפסט, יש ללחוץ על סמל ההגדרות מימין, ולסמן וי בהצג את המניפסט.