Google Sheets отправляет электронную почту дважды - PullRequest
0 голосов
/ 04 октября 2018

Я создал скрипт приложений Google для автоматизации работы с электронной почтой на основе определенных условий.Это работает, но есть серьезная ошибка, которую я не могу выяснить.

Ошибка состоит в том, что он будет отправлять два электронных письма одновременно, первое электронное письмо правильное и содержит всю информацию, которая мне нужнавторой будет содержать те же заголовки, но без значений.

Я просто хочу знать, почему он отправляет второе электронное письмо.

function onEdit(e) {
var spreadSheetName = SpreadsheetApp.getActiveSpreadsheet().getSheetName();
if(spreadSheetName === "KOSU"){
    var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("KOSU");

 var localTime = ss.getRange("A1").getValue();
 var actualKosu = ss.getRange("B30:T30").getValues()[0];
 var predictedKosu = ss.getRange("B25:T25").getValues()[0];
 var hourlyProduced = ss.getRange("B29:T29").getValues()[0];

 var timeRange = ss.getRange("B19:T19").getValues()[0];

//loop through range of times and compare values
//grab actual kosu, predicted kosu, hourly produced then email to relevant people

for(var i = 0; i < timeRange.length; i++){
  if(localTime >= timeRange[i] && localTime < timeRange[i + 1]){
    MailApp.sendEmail({
          to: 'person@gmail.com',
            subject: "KOSU UPDATE",
          htmlBody: 
           '<div>' +
           '<h3>SWI1 - KOSU UPDATE</h3>' +
           '</div>' +
          '<div>' +
          '<h3>PREDICTED KOSU:'+ Math.round(predictedKosu[i]) + '</h3>' +
          '<h3>ACHIEVED KOSU:'+ Math.round(actualKosu[i]) + '</h3>' +
          '<h3>HOURLY OUTPUT:'+ Math.round(hourlyProduced[i]) + '</h3>' +
          '</div>'
        });
       }
      }
     }
   }

1 Ответ

0 голосов
/ 10 октября 2018

Спасибо за все предложения и помощь.

Оказывается, мне удалось связать его с резервной версией листа, поэтому он отправлял информацию с чистого листа и предполагаемого листа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...