-
פשוט אבל תותחכתב ב4 ביוני 2021, 8:01 נערך לאחרונה על ידי פשוט אבל תותח 6 באפר׳ 2021, 8:02
יש לי קובץ Googek sheets שמתעדכן באופן ידני ע"י כל מיני אנשים
בניתי קישור שכשמקישים עליו זה שולח את הנתונים בAPI לימות המשיחהבעיה היא, שאני רוצה שזה ישלח אוטומטי כל כמה דקות
עשיתי הקלטת מאקרו, כדי להפעיל סקריפט כל כמה דקות, הבעיה שבהקלטה משום מה זה לא מפעיל את הקישור ביכללזה הקוד שיצא ממנה
/** @OnlyCurrentDoc */ function _1() { var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.getRange('K4').activate(); }; זה נראה שחסר כאן את ה ALT + אנטר
אשמח לעזרתכם
תודה רבה -
@פשוט-אבל-תותח תשתף איך בנית את הקישור הנפלא שעובד בעת לחיצה.
-
@פשוט-אבל-תותח
א׳ כמו שדויד כתב - אתה כותב בצורה מעורפלת יותר מידי.. קצת אינפורמציה לא תזיק.
ב׳ לגבי השאלה שלך: (סליחה דויד שאני עונה אפילו שלא כתב את השאלה נכון וכו׳) משמע שאתה בנית איזו פונקציה מסוימת בגוגל שיטס - ששולחת נתונים ל-API- וכו׳ כלומר זה בעצם גוגל סקריפט, בא נקרא לשד בשמו.
אז לכאורה הכי פשוט שבמקום לעשות מאקרואים ולהשתגע - פשוט בסקריפט לך למקטע של ׳טריגרים׳ ותוסיף טריגר מבוסס זמן - כל 5 דקות - שיריץ את הפונקציה הספציפית שכתבת (זו שנקראת כשלוחצים על ״הקישור״)
ֿהמון גוט שאבעס -
פשוט אבל תותחהשיב לdovid ב 5 ביוני 2021, 18:35 נערך לאחרונה על ידי פשוט אבל תותח 6 במאי 2021, 18:47
@dovid אמר בהרצת סקריפט מ Googek sheets שיפעיל קישור:
@פשוט-אבל-תותח תשתף איך בנית את הקישור הנפלא שעובד בעת לחיצה.
אתה יכול לראות כאן את המקור וכאן דוגמאות
עריכה:
כיון שראיתי שהשואל הוא @dovid שהוא גם המנהל של הפורום הנפלא הזה, אז אני מוסיף קצת יותר הסבר.
אני השתמשתי עם זה, וגם כמובן עם נוסחת "&" באקסל שתחבר לי תאים בשביל ליצור קישור + תוכן.
ואם נרצה להחכים עוד קצת אז השמתשתי גם אם נוסחתConcatenate
כדי לחבר את כל השורות של קובץ הini
שרציתי ליצור
ובין שורה לשורה הוספתי%0A
כדי שזה ירד שורה בכל פעם -
@chv אמר בהרצת סקריפט מ Googek sheets שיפעיל קישור:
אז לכאורה הכי פשוט שבמקום לעשות מאקרואים ולהשתגע - פשוט בסקריפט לך למקטע של ׳טריגרים׳ ותוסיף טריגר מבוסס זמן - כל 5 דקות - שיריץ את הפונקציה הספציפית שכתבת (זו שנקראת כשלוחצים על ״הקישור״)
זה בעצם מה שניסיתי לעשות, מה שלא הצלחתי זה לכתוב לטריגר להריץ את הקישור. אשמח אם תדריך אותי איך לעשות את זה
-
@פשוט-אבל-תותח
אם הבנתי טוב את שאלתך אתה לא הצלחת להקליט את הלחיצה על הקישור בגיליון של גוגל שיטס
א"כ כאן מדברים על זה -
שאול נ"יהשיב לפשוט אבל תותח ב 5 ביוני 2021, 19:29 נערך לאחרונה על ידי שאול נ"י 6 במאי 2021, 19:44
@פשוט-אבל-תותח אמר בהרצת סקריפט מ Googek sheets שיפעיל קישור:
@chv אמר בהרצת סקריפט מ Googek sheets שיפעיל קישור:
אז לכאורה הכי פשוט שבמקום לעשות מאקרואים ולהשתגע - פשוט בסקריפט לך למקטע של ׳טריגרים׳ ותוסיף טריגר מבוסס זמן - כל 5 דקות - שיריץ את הפונקציה הספציפית שכתבת (זו שנקראת כשלוחצים על ״הקישור״)
זה בעצם מה שניסיתי לעשות, מה שלא הצלחתי זה לכתוב לטריגר להריץ את הקישור. אשמח אם תדריך אותי איך לעשות את זה
מה שהתכוון זה שבמקום שתכתוב טריגר שיפעיל את הקישור
פשוט תפעיל את הפונקציה ע"י טריגר כל כמה זמן -
פשוט אבל תותחהשיב לשאול נ"י ב 5 ביוני 2021, 19:40 נערך לאחרונה על ידי פשוט אבל תותח 6 במאי 2021, 19:45
@שאול-נ-י זה מה שעשיתי , מה שלא הבנתי זה איך אני "אומר" לטריגר להריץ את הקישור
או אולי קצת יותר ברור, גם בהפעלה ידנית שאני עושה כאן
או רכיבי מאקרו זה לא מפעיל ביכלל את הקישוראיך אני גורם שאיזה שהיא פעולה תפעיל את
הקישור
, אח"כ שזה יעבוד כל X זמן הסתדרתי
@chv אמר בהרצת סקריפט מ Googek sheets שיפעיל קישור:
(זו שנקראת כשלוחצים על ״הקישור״)
איך קוראים לפונקציה הזו, איך יוצרים אותה ?
-
פשוט אבל תותחהשיב לאוריי ב 5 ביוני 2021, 19:43 נערך לאחרונה על ידי פשוט אבל תותח 6 במאי 2021, 19:49
@אוריי תודה רבה, זה באמת מה שהתכוונתי אבל לא הצלחתי לבצע משם כלום, התירגום של גוגל גרוע או שאני לא הבנתי איפוא אני מכניס את הנתון להפעלה
אמשח אם תוכל לעזור לי
-
@פשוט-אבל-תותח יש בסטאק סקריפט שפותח איזה כתובת שתרצה. הנה:
/** * Open a URL in a new tab. */ function openUrl( url ){ var html = HtmlService.createHtmlOutput('<html><script>' +'window.close = function(){window.setTimeout(function(){google.script.host.close()},9)};' +'var a = document.createElement("a"); a.href="'+url+'"; a.target="_blank";' +'if(document.createEvent){' +' var event=document.createEvent("MouseEvents");' +' if(navigator.userAgent.toLowerCase().indexOf("firefox")>-1){window.document.body.append(a)}' +' event.initEvent("click",true,true); a.dispatchEvent(event);' +'}else{ a.click() }' +'close();' +'</script>' // Offer URL as clickable link in case above code fails. +'<body style="word-break:break-word;font-family:sans-serif;">Failed to open automatically. <a href="'+url+'" target="_blank" onclick="window.close()">Click here to proceed</a>.</body>' +'<script>google.script.host.setHeight(40);google.script.host.setWidth(410)</script>' +'</html>') .setWidth( 90 ).setHeight( 1 ); SpreadsheetApp.getUi().showModalDialog( html, "Opening ..." ); } פשוט תקרא לפונקציה openURL עם הכתובת שאתה רוצה.
-
פשוט אבל תותחהשיב לOdedDvir ב 5 ביוני 2021, 20:05 נערך לאחרונה על ידי פשוט אבל תותח 6 במאי 2021, 20:05
@odeddvir אם אפשר הסבר יותר ברור, היו כאן כמה רעיונות ואני התבלבלתי
אני פותח סקריפט חדש ולקרוא לו איך ?
אני נותן דוגמא של כתובת וכמובן שהתוכן משתנה לפי מה שכתוב בגיליון (במשל בתא K4) יהיה במקום המילים מילים להקראה שבדוגמא כאןhttps://www.call2all.co.il/ym/api/UploadTextFile?token=079XXXXX:****&what=ivr2:/M1000.tts&contents=מילים להקראה
-
@פשוט-אבל-תותח פתח סקריפט חדש עם איזה שם שתרצה, ותדביק בו את הקוד.
אם הכתובת נמצאת בתא K4, תוסיף בסוף קריאה לפונקציה כך:openURL(SpreadsheetApp.getActiveSheet().getRange('K4').getValue())
את הסקריפט הזה תריץ כל פרק זמן.
-
פשוט אבל תותחהשיב לOdedDvir ב 5 ביוני 2021, 20:17 נערך לאחרונה על ידי פשוט אבל תותח 6 במאי 2021, 20:19פוסט זה נמחק!
-
פשוט אבל תותחהשיב לOdedDvir ב 5 ביוני 2021, 20:23 נערך לאחרונה על ידי פשוט אבל תותח 6 במאי 2021, 20:42
@odeddvir כתבתי ככה וזה מראהשהפעולה הושלמה, בתכל'ס זה לא שינה כלום
function myFunction() { /** * Open a URL in a new tab. */ function openUrl( url ){ var html = HtmlService.createHtmlOutput('<html><script>' +'window.close = function(){window.setTimeout(function(){google.script.host.close()},9)};' +'var a = document.createElement("a"); a.href="'+url+'"; a.target="_blank";' +'if(document.createEvent){' +' var event=document.createEvent("MouseEvents");' +' if(navigator.userAgent.toLowerCase().indexOf("firefox")>-1){window.document.body.append(a)}' +' event.initEvent("click",true,true); a.dispatchEvent(event);' +'}else{ a.click() }' +'close();' +'</script>' // Offer URL as clickable link in case above code fails. +'<body style="word-break:break-word;font-family:sans-serif;">Failed to open automatically. <a href="'+url+'" target="_blank" onclick="window.close()">Click here to proceed</a>.</body>' +'<script>google.script.host.setHeight(40);google.script.host.setWidth(410)</script>' +'</html>') .setWidth( 90 ).setHeight( 1 ); SpreadsheetApp.getUi().showModalDialog( html, "Opening ..." ); openURL(SpreadsheetApp.getActiveSheet().getRange('K4').getValue()) } } -
@פשוט-אבל-תותח אם יש לך כמה גליונות, הוא מחפש בראשון, אלא אם כן תציין את שם הגליון:
getRange('MySheet!K4')
-
פשוט אבל תותחהשיב לOdedDvir ב 5 ביוני 2021, 20:25 נערך לאחרונה על ידי פשוט אבל תותח 6 במאי 2021, 20:27
@odeddvir אוקיי, בשביל לבדוק את זה פתחתי קובץ חדש לגמרי
והתוצאה שזה כותב אישור אבל לא משנה כלום במערכת, ואני לא יודע אם זה אמורל פתוח לי חלון אבל זה לא פותח
-
OdedDvirהשיב לפשוט אבל תותח ב 5 ביוני 2021, 20:27 נערך לאחרונה על ידי OdedDvir 6 במאי 2021, 20:29
@פשוט-אבל-תותח תנסה קודם כל לבצע בדיקה פשוטה. האם הקוד הבא עובד, ונפתח חלון של גוגל:
openURL('www.google.com');
עריכה: שמתי לב ששכחת להקיף את כתובת התא בגרשיים (בשורה 23), צריך להיות getRange('K4')
-
-
OdedDvirהשיב לפשוט אבל תותח ב 5 ביוני 2021, 20:32 נערך לאחרונה על ידי OdedDvir 6 במאי 2021, 20:32
@פשוט-אבל-תותח ומה אם תציין נתיב מלא, כך:
openURL('http://www.google.com');
-
פשוט אבל תותחהשיב לOdedDvir ב 5 ביוני 2021, 20:35 נערך לאחרונה על ידי פשוט אבל תותח 6 במאי 2021, 20:35
2/24