-
@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')
-
@פשוט-אבל-תותח תנסה קודם כל לבצע בדיקה פשוטה. האם הקוד הבא עובד, ונפתח חלון של גוגל:
openURL('www.google.com');
עריכה: שמתי לב ששכחת להקיף את כתובת התא בגרשיים (בשורה 23), צריך להיות getRange('K4')
-
-
@פשוט-אבל-תותח ומה אם תציין נתיב מלא, כך:
openURL('http://www.google.com');
-
@פשוט-אבל-תותח בוא נעשה סדר...
את הפונקציה שהבאתי לך אל תשנה. (הוספת את הקריאה לפונקציה בתוך הפונקציה עצמה, וזה גרם לרקורסיה אינסופית).
אחרי הפונקציה תוסיף את השורה שמבצעת קריאה לפונקציה. כך:function openUrl( url ){ // כל הקוד המקורי שלעיל } openURL(SpreadsheetApp.getActiveSheet().getRange('K4').getValue())
-
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())
ואז זה מחזיר
ניסיתי גם להוריד את השורה הראשונה ואת הסוגר התחתון (שהעורך מביא אוטמטי)
-
@פשוט-אבל-תותח אם הבנתי נכון (זה מסובך מאוד להבין מה אתה רוצה) כדאי מאוד, שתפתח אשכול חדש - ובו תכתוב הכל מהתחלה, בצורה הכי מפורטת והכי ברורה שאתה יכול.
עדיין לא ברור לי עצמי מה אתה רוצה להשיג בלחיצה על הכפתור - ומה אתה רוצה להשיג בלחיצה אוטומטית על הכפתור (לחיצה שבעצם מבוצעת על ידי הסקריפט)
תתייג אותי ואת מי שאתה חושב לנכון, באשכול חדש.
שאפו ל-@OdedDvir על הדברים שהוא כתב כאן והרצון לעזור -