דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תוכנה
  3. הוספת לחצן מאקרו בגוגל שיטס

הוספת לחצן מאקרו בגוגל שיטס

מתוזמן נעוץ נעול הועבר תוכנה
19 פוסטים 4 כותבים 1.6k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש מנותק
    ש מנותק
    שוהם307
    השיב לOdedDvir ב נערך לאחרונה על ידי
    #9

    @odeddvir אני יסביר את עצמי.
    אני רוצה שבכל שורה יהיה לחצן 'הדפס' ואז הוא יבחר רק את השורה הנוכחית וידפיס אותה לפי הגדרות הדפסות מיוחדות שאגדיר לו.

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

    OdedDvirO תגובה 1 תגובה אחרונה
    0
    • OdedDvirO מנותק
      OdedDvirO מנותק
      OdedDvir
      השיב לשוהם307 ב נערך לאחרונה על ידי
      #10

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

      ש תגובה 1 תגובה אחרונה
      0
      • ש מנותק
        ש מנותק
        שוהם307
        השיב לOdedDvir ב נערך לאחרונה על ידי שוהם307
        #11

        @odeddvir תודה. אני מצרף דוגמה.
        אבל עשיתי את זה באקסל רגיל, ואני רוצה אותו בגוגל שיטס.
        תעדכן אותי אם זה מספיק.
        2021-09-01 15_41_19-Window.png

        עריכה:, בלחיצה על הלחצן אני רוצה שתמיד ידפיס לי את השורה הנוכחית בה הלחצן נמצא.

        תגובה 1 תגובה אחרונה
        1
        • OdedDvirO מנותק
          OdedDvirO מנותק
          OdedDvir
          כתב ב נערך לאחרונה על ידי
          #12

          @שוהם307 אין אפשרות ליצור לחצן בתוך תא.
          תוכל להשתמש בטריק שמופיע כאן, כדי ליצור תיבה נגללת עם המילה "הדפס" בעמודה האחרונה, ולהצמיד לטריגר המובנה onEdit() את הקוד הבא:

          הערה: הקוד מניח שהתיבה נמצאת בעמודה D, תוכל לשנות את מספר העמודה בשורה הראשונה.

          const printSelectionColumn = 4; // מספר העמודה שמכילה את תיבת ההדפסה
          
          function onEdit(e) {
            var sheet = SpreadsheetApp.getActiveSheet();
            var column = sheet.getActiveCell().getColumn();
            var cellValue = sheet.getActiveCell().getValue();
            if (column == printSelectionColumn && cellValue == "הדפס")
            {
              var row = sheet.getActiveCell().getRow();
              var values = sheet.getRange(row,1,1,printSelectionColumn-1).getValues();
              //תעשה מה שאתה רוצה עם הערכים שקיבלת
              Logger.log(JSON.stringify(values));
            }
          }
          

          וככה זה נראה:
          87e8ab0b-17ab-494f-bc7f-89bf7e36d976-תמונה.png

          ש תגובה 1 תגובה אחרונה
          1
          • ש מנותק
            ש מנותק
            שוהם307
            השיב לOdedDvir ב נערך לאחרונה על ידי
            #13

            @odeddvir אמר בהוספת לחצן מאקרו בגוגל שיטס:

            תוכל להשתמש בטריק שמופיע כאן, כדי ליצור תיבה נגללת עם המילה "הדפס" בעמודה האחרונה, ולהצמיד לטריגר המובנה onEdit() את הקוד הבא:

            אם יש לך סבלנות, אשמח שתרחיב לי יותר.

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

            תודה רבה.

            OdedDvirO תגובה 1 תגובה אחרונה
            0
            • OdedDvirO מנותק
              OdedDvirO מנותק
              OdedDvir
              השיב לשוהם307 ב נערך לאחרונה על ידי
              #14

              @שוהם307 אמר בהוספת לחצן מאקרו בגוגל שיטס:

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

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

              2.האם כוונתך שבהזנת המילה 'הדפס' יופעל הקוד?

              ליתר דיוק, בבחירת האפשרות "הדפס" מתוך הרשימה הנפתחת.

              את הקוד אני מכניס ב 'עורך קובצי הסקריפט', ומצמיד את הקוד לטריגר, אבל מה אני מגדיר בטריגר? איפה אני מגדיר שהקוד יופעל בהזנת המילה 'הדפס'?

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

              תגובה 1 תגובה אחרונה
              1
              • ש מנותק
                ש מנותק
                שוהם307
                כתב ב נערך לאחרונה על ידי
                #15

                הבנתי, וביצעתי את כל האמור.
                כשאני מפעיל את הסקריפט בעורך הוא רושם לי מה מכיל כל עמודה ואף מציג לי שעמודה 12 היא TRUE, שזה אומר שמופיע שם המילה 'הדפס'.(בגיליון אצלי זה בעמודה 12, וכמובן ששיניתי את הקוד מעמודה 4 ל 12)
                אבל.... כלום. לא קורה כלום.

                OdedDvirO תגובה 1 תגובה אחרונה
                0
                • OdedDvirO מנותק
                  OdedDvirO מנותק
                  OdedDvir
                  השיב לשוהם307 ב נערך לאחרונה על ידי OdedDvir
                  #16

                  @שוהם307 אמר בהוספת לחצן מאקרו בגוגל שיטס:

                  אבל.... כלום. לא קורה כלום.

                  בשורה 10 בקוד לעיל אני מקבל את ערכי כל העמודות.
                  עיין בשורה 11 שם כתבתי בהערה:

                  //תעשה מה שאתה רוצה עם הערכים שקיבלת
                  

                  בקוד לעיל (בשורה 12) אני פשוט מדפיס אותם ליומן. מה אתה רוצה לעשות איתם בדיוק?

                  ש תגובה 1 תגובה אחרונה
                  0
                  • ש מנותק
                    ש מנותק
                    שוהם307
                    השיב לOdedDvir ב נערך לאחרונה על ידי
                    #17

                    @odeddvir אמר בהוספת לחצן מאקרו בגוגל שיטס:

                    בקוד לעיל (בשורה )12 אני פשוט מדפיס אותם ליומן.

                    אהה..
                    ואני רוצה אותם בהדפסה ישירה מהמדפסת, מה נעשה?

                    OdedDvirO תגובה 1 תגובה אחרונה
                    0
                    • OdedDvirO מנותק
                      OdedDvirO מנותק
                      OdedDvir
                      השיב לשוהם307 ב נערך לאחרונה על ידי
                      #18

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

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

                      אבל זו כבר לא עבודה לערב שבת. אי"ה בלי נדר בשבוע הבא (או אולי בשנה הבאה...😃 ) אנסה לעזור לך.

                      ש תגובה 1 תגובה אחרונה
                      3
                      • ש מנותק
                        ש מנותק
                        שוהם307
                        השיב לOdedDvir ב נערך לאחרונה על ידי
                        #19

                        @odeddvir אתה יודע מה? שלא ידפיס ישירות אבל לפחות שיציג לי את חלון ההדפסה.

                        תגובה 1 תגובה אחרונה
                        0
                        • ב בער התייחס לנושא זה ב

                        בא תתחבר לדף היומי!
                        • התחברות

                        • אין לך חשבון עדיין? הרשמה

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