דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. עזרה הדדית - מחשבים וטכנולוגיה
  4. בירור | איך להוציא קובץ עם כל מי ששלח אלי / קיבל ממני מייל

בירור | איך להוציא קובץ עם כל מי ששלח אלי / קיבל ממני מייל

מתוזמן נעוץ נעול הועבר עזרה הדדית - מחשבים וטכנולוגיה
15 פוסטים 5 כותבים 336 צפיות 6 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש שמעון חבצלת

    @אביי זה עושה לי שגיאה כזו
    f6e4b707-6b49-4202-8432-a6a82c05d0be-image.png
    זה לאחר שעשיתי הפעלה..

    אבייא מנותק
    אבייא מנותק
    אביי
    כתב ב נערך לאחרונה על ידי
    #6

    @שמעון-חבצלת אתה בטוח שיש לך גיליון בשם "כתובות" בגוגל שיטס?

    עכ"פ עדכנתי את הקוד למעלה וכעת זה יעבוד ללא קשר לשם הגיליון, וכן יעבוד על יותר מ500 ההודעות האחרונות.

    ניתן ליצור עימי קשר 8140hp+mt@gmail.com

    תגובה 1 תגובה אחרונה
    3
    • א מנותק
      א מנותק
      א.ב.ק.
      כתב ב נערך לאחרונה על ידי
      #7

      איך אפשר לשנות את זה שזה יתן לי רשימה מדואר יוצא??

      אבייא 2 תגובות תגובה אחרונה
      0
      • א א.ב.ק.

        איך אפשר לשנות את זה שזה יתן לי רשימה מדואר יוצא??

        אבייא מנותק
        אבייא מנותק
        אביי
        כתב ב נערך לאחרונה על ידי
        #8

        @א-ב-ק כתב בבירור | איך להוציא קובץ עם כל מי ששלח אלי / קיבל ממני מייל:

        איך אפשר לשנות את זה שזה יתן לי רשימה מדואר יוצא??

        בעיקרון תשנה בשורה 11 ל

        let threads = GmailApp.search("in:sent", start, maxThreads); 
        

        ניתן ליצור עימי קשר 8140hp+mt@gmail.com

        תגובה 1 תגובה אחרונה
        1
        • א א.ב.ק.

          איך אפשר לשנות את זה שזה יתן לי רשימה מדואר יוצא??

          אבייא מנותק
          אבייא מנותק
          אביי
          כתב ב נערך לאחרונה על ידי
          #9

          מצורף קוד מעודכן שאמור להציג גם שיפור בביצועים (כי הרישום לאקסל נעשה רק כל 100 הודעות),

          לשינוי לדואר יוצא, יש למחוק את ה"//" בשורה 13 ולרשום אותם בתחילת שורה 12 ולהיפך.

          function exportEmails() {
            let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
            sheet.clear();
          
            sheet.appendRow(["כתובת שולח", "שם השולח", "כתובת נמען", "שם הנמען", "נושא", "תוויות", "תאריך שליחה", "איידי ההודעה"]);
          
            let maxThreads = 500;
            let start = 0;
            let dataRows = [];
          
            while (true) {
              let threads = GmailApp.getInboxThreads(start, maxThreads);
              //let threads = GmailApp.search("in:sent", start, maxThreads); 
          
              if (threads.length == 0) {
                break;
              }
          
              for (let i = 0; i < threads.length; i++) {
                let messages = threads[i].getMessages();
          
                for (let j = 0; j < messages.length; j++) {
                  let email = messages[j];
          
                  let fromField = email.getFrom();
                  let matches = fromField.match(/"?(.*?)"?\s*<(.+?)>/);
                  let name = matches && matches[1] ? matches[1] : '';
                  let emailAddress = matches && matches[2] ? matches[2] : fromField;
          
                  let toField = email.getTo();
                  let matchesTo = toField.match(/"?(.*?)"?\s*<(.+?)>/);
                  let nameTo = matchesTo && matchesTo[1] ? matchesTo[1] : '';
                  let emailAddressTo = matchesTo && matchesTo[2] ? matchesTo[2] : toField;
                  let subject = email.getSubject();
          
                  let threadLabels = threads[i].getLabels();
                  let labelNames = [];
                  
                  for (let k = 0; k < threadLabels.length; k++) {
                    labelNames.push(threadLabels[k].getName());
                  }
                  
                  let labels = labelNames.join(', ');
          
                  let date = email.getDate();
                  let id = email.getId();
                  let formattedDate = Utilities.formatDate(date, 'GMT', 'yyyy-MM-dd HH:mm:ss');
          
                  dataRows.push([emailAddress, name, emailAddressTo, nameTo, subject, labels, formattedDate, id]);
          
                  if (dataRows.length >= 100) {
                    sheet.getRange(sheet.getLastRow() + 1, 1, dataRows.length, 8).setValues(dataRows);
                    dataRows = [];
                  }
                }
              }
          
              start += maxThreads;
            }
          
            if (dataRows.length > 0) {
              sheet.getRange(sheet.getLastRow() + 1, 1, dataRows.length, 8).setValues(dataRows);
            }
          }
          
          

          ניתן ליצור עימי קשר 8140hp+mt@gmail.com

          ש ש 2 תגובות תגובה אחרונה
          6
          • אבייא אביי

            מצורף קוד מעודכן שאמור להציג גם שיפור בביצועים (כי הרישום לאקסל נעשה רק כל 100 הודעות),

            לשינוי לדואר יוצא, יש למחוק את ה"//" בשורה 13 ולרשום אותם בתחילת שורה 12 ולהיפך.

            function exportEmails() {
              let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
              sheet.clear();
            
              sheet.appendRow(["כתובת שולח", "שם השולח", "כתובת נמען", "שם הנמען", "נושא", "תוויות", "תאריך שליחה", "איידי ההודעה"]);
            
              let maxThreads = 500;
              let start = 0;
              let dataRows = [];
            
              while (true) {
                let threads = GmailApp.getInboxThreads(start, maxThreads);
                //let threads = GmailApp.search("in:sent", start, maxThreads); 
            
                if (threads.length == 0) {
                  break;
                }
            
                for (let i = 0; i < threads.length; i++) {
                  let messages = threads[i].getMessages();
            
                  for (let j = 0; j < messages.length; j++) {
                    let email = messages[j];
            
                    let fromField = email.getFrom();
                    let matches = fromField.match(/"?(.*?)"?\s*<(.+?)>/);
                    let name = matches && matches[1] ? matches[1] : '';
                    let emailAddress = matches && matches[2] ? matches[2] : fromField;
            
                    let toField = email.getTo();
                    let matchesTo = toField.match(/"?(.*?)"?\s*<(.+?)>/);
                    let nameTo = matchesTo && matchesTo[1] ? matchesTo[1] : '';
                    let emailAddressTo = matchesTo && matchesTo[2] ? matchesTo[2] : toField;
                    let subject = email.getSubject();
            
                    let threadLabels = threads[i].getLabels();
                    let labelNames = [];
                    
                    for (let k = 0; k < threadLabels.length; k++) {
                      labelNames.push(threadLabels[k].getName());
                    }
                    
                    let labels = labelNames.join(', ');
            
                    let date = email.getDate();
                    let id = email.getId();
                    let formattedDate = Utilities.formatDate(date, 'GMT', 'yyyy-MM-dd HH:mm:ss');
            
                    dataRows.push([emailAddress, name, emailAddressTo, nameTo, subject, labels, formattedDate, id]);
            
                    if (dataRows.length >= 100) {
                      sheet.getRange(sheet.getLastRow() + 1, 1, dataRows.length, 8).setValues(dataRows);
                      dataRows = [];
                    }
                  }
                }
            
                start += maxThreads;
              }
            
              if (dataRows.length > 0) {
                sheet.getRange(sheet.getLastRow() + 1, 1, dataRows.length, 8).setValues(dataRows);
              }
            }
            
            
            ש מנותק
            ש מנותק
            שעטנ"ז ג"ץ
            כתב ב נערך לאחרונה על ידי
            #10

            @אביי כתב בבירור | איך להוציא קובץ עם כל מי ששלח אלי / קיבל ממני מייל:

            getSheets

            ניסתי גם אני עם הקוד הזה וזה התוצאה

            3b4ff738-8040-47c1-9f57-bb0141b7c7ce-image.png

            אבייא תגובה 1 תגובה אחרונה
            0
            • ש שעטנ"ז ג"ץ

              @אביי כתב בבירור | איך להוציא קובץ עם כל מי ששלח אלי / קיבל ממני מייל:

              getSheets

              ניסתי גם אני עם הקוד הזה וזה התוצאה

              3b4ff738-8040-47c1-9f57-bb0141b7c7ce-image.png

              אבייא מנותק
              אבייא מנותק
              אביי
              כתב ב נערך לאחרונה על ידי
              #11

              @שעטנ-ז-ג-ץ זה צריך להיות סקריפט מואגד לקובץ גוגל שיטס

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

              ניתן ליצור עימי קשר 8140hp+mt@gmail.com

              ש תגובה 1 תגובה אחרונה
              0
              • אבייא אביי

                @שעטנ-ז-ג-ץ זה צריך להיות סקריפט מואגד לקובץ גוגל שיטס

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

                ש מנותק
                ש מנותק
                שעטנ"ז ג"ץ
                כתב ב נערך לאחרונה על ידי
                #12

                @אביי כתב בבירור | איך להוציא קובץ עם כל מי ששלח אלי / קיבל ממני מייל:

                @שעטנ-ז-ג-ץ זה צריך להיות סקריפט מואגד לקובץ גוגל שיטס

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

                גם זה עשיתי ואותו שגיאה

                אבייא תגובה 1 תגובה אחרונה
                0
                • ש שעטנ"ז ג"ץ

                  @אביי כתב בבירור | איך להוציא קובץ עם כל מי ששלח אלי / קיבל ממני מייל:

                  @שעטנ-ז-ג-ץ זה צריך להיות סקריפט מואגד לקובץ גוגל שיטס

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

                  גם זה עשיתי ואותו שגיאה

                  אבייא מנותק
                  אבייא מנותק
                  אביי
                  כתב ב נערך לאחרונה על ידי
                  #13

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

                  ניתן ליצור עימי קשר 8140hp+mt@gmail.com

                  תגובה 1 תגובה אחרונה
                  1
                  • אבייא אביי

                    מצורף קוד מעודכן שאמור להציג גם שיפור בביצועים (כי הרישום לאקסל נעשה רק כל 100 הודעות),

                    לשינוי לדואר יוצא, יש למחוק את ה"//" בשורה 13 ולרשום אותם בתחילת שורה 12 ולהיפך.

                    function exportEmails() {
                      let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
                      sheet.clear();
                    
                      sheet.appendRow(["כתובת שולח", "שם השולח", "כתובת נמען", "שם הנמען", "נושא", "תוויות", "תאריך שליחה", "איידי ההודעה"]);
                    
                      let maxThreads = 500;
                      let start = 0;
                      let dataRows = [];
                    
                      while (true) {
                        let threads = GmailApp.getInboxThreads(start, maxThreads);
                        //let threads = GmailApp.search("in:sent", start, maxThreads); 
                    
                        if (threads.length == 0) {
                          break;
                        }
                    
                        for (let i = 0; i < threads.length; i++) {
                          let messages = threads[i].getMessages();
                    
                          for (let j = 0; j < messages.length; j++) {
                            let email = messages[j];
                    
                            let fromField = email.getFrom();
                            let matches = fromField.match(/"?(.*?)"?\s*<(.+?)>/);
                            let name = matches && matches[1] ? matches[1] : '';
                            let emailAddress = matches && matches[2] ? matches[2] : fromField;
                    
                            let toField = email.getTo();
                            let matchesTo = toField.match(/"?(.*?)"?\s*<(.+?)>/);
                            let nameTo = matchesTo && matchesTo[1] ? matchesTo[1] : '';
                            let emailAddressTo = matchesTo && matchesTo[2] ? matchesTo[2] : toField;
                            let subject = email.getSubject();
                    
                            let threadLabels = threads[i].getLabels();
                            let labelNames = [];
                            
                            for (let k = 0; k < threadLabels.length; k++) {
                              labelNames.push(threadLabels[k].getName());
                            }
                            
                            let labels = labelNames.join(', ');
                    
                            let date = email.getDate();
                            let id = email.getId();
                            let formattedDate = Utilities.formatDate(date, 'GMT', 'yyyy-MM-dd HH:mm:ss');
                    
                            dataRows.push([emailAddress, name, emailAddressTo, nameTo, subject, labels, formattedDate, id]);
                    
                            if (dataRows.length >= 100) {
                              sheet.getRange(sheet.getLastRow() + 1, 1, dataRows.length, 8).setValues(dataRows);
                              dataRows = [];
                            }
                          }
                        }
                    
                        start += maxThreads;
                      }
                    
                      if (dataRows.length > 0) {
                        sheet.getRange(sheet.getLastRow() + 1, 1, dataRows.length, 8).setValues(dataRows);
                      }
                    }
                    
                    
                    ש מנותק
                    ש מנותק
                    שמעון חבצלת
                    כתב ב נערך לאחרונה על ידי שמעון חבצלת
                    #14

                    @אביי אלוףףף ממש תודה רבה!! עכשיו זה עבד לי!

                    ש תגובה 1 תגובה אחרונה
                    0
                    • ש שמעון חבצלת

                      @אביי אלוףףף ממש תודה רבה!! עכשיו זה עבד לי!

                      ש מנותק
                      ש מנותק
                      שעון חול 0
                      כתב ב נערך לאחרונה על ידי
                      #15

                      @שמעון-חבצלת אם אפשר קצת הסבר מה זה עושה (אם מישהו שלח לי מייל 5 פעמים הוא יקבל את זה 5 פעמים?)

                      תגובה 1 תגובה אחרונה
                      0

                      • התחברות

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

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