בקשת עזרה בקוד ג'אווה סקריפט
-
בניתי מודל מסוים באמצעות השפה הזאת בגוגל סקריפט ורציתי שכל פעם זה יוסיף נתונים בגוגל שיטס ויבדוק אם השורה הקודמת מלאה אז יעבור לשורה הבאה אז כתבתי את הקטע קוד הבא ובפועל הוא לא בודק רק מוסיף נתונים על הנתונים הקיימים מישהו יכול לעזור?
זה הקוד עם קצת הסבר תודה רבהfor(ghj=1;ggg1>0;ghj++){ שורה 1 ואז בדיקה אם גדול מאפס שימשיך b מקבל נתונים מהגליון עמודה ggg1 משתנה let ggg2="ggg!b"+ghj; שם הגליון עם המספר לפי המשתנה בלולאה ggg2 משתנה let ggg1=SpreadsheetApp.getActiveSheet().getRange(ggg2).getValue(); קבלת נתונים שוב מהעמודה if(ggg1==0) בדיקה ורק אם אפס {let gggn = SpreadsheetApp.getActiveSheet().getRange(ggg2).setValue(asd); שיכניס נתונים לפי המשתנה הקודם
}
}
-
@הלי כתב בבקשת עזרה בקוד ג'אווה סקריפט:
בניתי מודל מסוים באמצעות השפה הזאת בגוגל סקריפט ורציתי שכל פעם זה יוסיף נתונים בגוגל שיטס ויבדוק אם השורה הקודמת מלאה אז יעבור לשורה הבאה אז כתבתי את הקטע קוד הבא ובפועל הוא לא בודק רק מוסיף נתונים על הנתונים הקיימים מישהו יכול לעזור?
זה הקוד עם קצת הסבר תודה רבהfor(ghj=1;ggg1>0;ghj++){ שורה 1 ואז בדיקה אם גדול מאפס שימשיך b מקבל נתונים מהגליון עמודה ggg1 משתנה let ggg2="ggg!b"+ghj; שם הגליון עם המספר לפי המשתנה בלולאה ggg2 משתנה let ggg1=SpreadsheetApp.getActiveSheet().getRange(ggg2).getValue(); קבלת נתונים שוב מהעמודה if(ggg1==0) בדיקה ורק אם אפס {let gggn = SpreadsheetApp.getActiveSheet().getRange(ggg2).setValue(asd); שיכניס נתונים לפי המשתנה הקודם
}
}
תעבור על זה
https://tchumim.com/topic/14001/העלאת-טקסט-מגוגל-שיטס-לתוך-שלוחות-בימות-המשיח-ויצירת-מחיקת-שלוחותיש שם גם ״שאיבה״ של נתונים מהגוגל שיטס, ואז תעשה השוואה אם השורה מלאה או ריקה,
ואחרי זה תיצור שורה חדשה -
@MGM-IVR זה מה שעשיתי לא?
משתנה מקבל ערך משורה
ואז בדיקה ואם אפס כותבים לתוכו אם לא הלולאה חוזרת ומוסיפה עוד אחד וכולי
מה אני יראה שם אחרת?
אודה לך אם תסביר יותר -
@הלי בדקתי עכשיו וראיתי שזה לא שזה מוסיף על הקיים רק כלל לא מעדכן (חשבתי שכן כי כבר היה שם משהו) אלא מתעלם לגמרי מהכתיבה ב"שיטס" למרות שאת שאר הפעולות הוא מבצע מעולה
(ניסיתי להחליף ב if לבדיקה אם null וגם לא עזר
מי יכול לעזור? -
@הלי אולי @צדיק-תמים או @אביי-ורבא שהבנתי שהם מבינים בגוגל סקריפט או כל מי שמבין בזה יוכלו לעזור?
תודה רבה. -
@הלי סורי אבל אני בקושי מצליח להבין מה הולך בקוד שהעלית
תעלה אותו מסודר ועם שמות משתנים שמשקפים את התוכן שלהם, ולא gg1, gg2, ghj... -
@צדיק-תמים תודה רבה רבה על המענה המהיר אני אסביר קצת
בעיקרון אני באמצע לכתוב וכל פעם אני בודק אם עובד והיות שלעת עתה הגיליון של השיטס נקרא ggg אז ראיתי לנכון לקרא למשתנים בשם קשור לזה ושיניתי עכשיו קצת כדי שיהיה יותר קריא
אני מצרף את הקוד ולאחריו הסבר קצר
בתקווה שהפעם יהיה יותר ברורlet ggg1=SpreadsheetApp.getActiveSheet().getRange('ggg!B1').getValue(); for(gggb=1;ggg1>0;gggb++){ let ggg2="ggg!b"+gggb; let ggg1=SpreadsheetApp.getActiveSheet().getRange(ggg2).getValue(); if(ggg1==null) {let gggok = SpreadsheetApp.getActiveSheet().getRange(ggg2).setValue(file); } }
עכשיו ככה לפני שורה 1 בשלב כלשהוא בקוד מקבל המשתנה file נתונים שאחד הדברים שאמורים לקרא איתם זה להיכנס לשיטס עכשיו השורה הזאת לא רלוונטית כיון שזה עובד בטוח מבדיקה
שורה 1 ggg1 קבלת נתונים מהגליון הנ"ל
שורה2 gggb (כאילו ggg בדיקה) הלולאה
שורה 3 משתנה המיקום בגליון כאשר המספר לפי הלולאה
שורה 4 קבלת נתונים מהשיטס לפי המשתנה הקודם
שורה 5בדיקה אם הנתון שווה לאפס
שורה 6 הכנסת נתונים
וחוזר ובודק עד שכאשר אכן יכניס אמור להגמר הלולאה
מקווה שמספיק ברור תודה רבה -
עדיין למרות ההסבר קשה מאוד להבין את הקוד בגלל שמות המשתנים
@הלי כתב בבקשת עזרה בקוד ג'אווה סקריפט:שורה 1 ggg1 קבלת נתונים מהגליון הנ"ל
מה זה
ggg!B1
? למיטב ידיעתי זה טווח לא תקין, אתה אמור לכתוב טווח לדוגמה A1:C3
בנוסף שים לב שגם אם הטווח מכיל יותר מתא אחד תקבל רק את הערך של התא השמאלי העליון בטווח, כי השתמשת בgetValue
https://developers.google.com/apps-script/reference/spreadsheet/range?hl=he#getvalue -
@צדיק-תמים בעיקרון זה טווח של שם גליון ותא ואני באמת רוצה לקבל רק ערך של תא 1 ונראה לי שזה כן תקין כי אני משתמש גם עם השורות האלה והם עובדים מעולה
let token2 = SpreadsheetApp.getActiveSheet().getRange('GGG!F2').setValue(token1.token); let token3 =SpreadsheetApp.getActiveSheet().getRange('ggg!f2').getValue();
וגם פה השתמשתי במזהה זה וזה עבד מעולה כיון שניסתי בהתחלה בלי לולאה ועבד ואז עם תנאי פשוט שאם מלא יעבור לשורה הבאה (באמצעות איות של כל המיקום) וגם עבד ורק כשהתחלתי עם הלולאה זה התפקשש
תודה רבה על ההיענות והעזרה.