Нужно отправлять только самые новые данные, отправленные с помощью формы Google на основе адреса электронной почты в ячейке N - PullRequest
0 голосов
/ 01 июля 2019

Мне нужен простой сценарий, который отправляет новейшие данные формы Google, отправленные на адрес электронной почты, созданный из оператора If else на основании заголовка носителя в столбце J (строка 9), в листе Google для сбора данных. К сожалению, я не могу поделиться листом, с которым я работаю, потому что моя компания не позволяет нам делиться за пределами компании.

    function CustomEmail() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Responses');
  var startRow = 2;
  var numRows = 700; 
   var dataRange = ss.getRange("A2:Q700"); 
   var data = dataRange.getValues();
  var emailSent = "Email Sent";
  for (var i = 0; i < data.length; ++i) {
     var carrier = data[i][9];//armored car carrier  
    if (carrier === 'Dunbar/Brinks'){ 
    var  Email = ("xxx@xxx.com");}
    else if (carrier === 'GARDA'){ 
    var  Email = ("xxx@xxx.com");}
    else if (carrier === 'Loomis'){ 
    var  Email = ("xxx@xxx.com");}
    else{ 
    var Email = '';
    }   
  var subject= "New Armored Car Missed Pick-UP";//subject for the email will be// 
    if (Email.length>0);{  
    var row = data[i];      
    var date = row[11];   
    var store = row[2];//Store Name    
    var address = row[3];//Address    
    var city = row[4];//City    
    var state = row[5];//state    
    var manager = row[6];//manager name    
    var reason = row[10];//reason  
    var emailBody = "New Armored Car Pick-Up Report from: " +store+ "\nDate of Missed Pick-Up: " +date+ "\nAddress: " +address+ "\nCity: " +city+ "\nState: " +state+ "\nManager: " +manager+ "\nCarrier: " +carrier+ "\nReason: " +reason;
    var isEmailSent = row[16];
  if (isEmailSent != "Email Sent") {
     MailApp.sendEmail(Email, subject, emailBody); 
    ss.getRange(startRow + i,17).setValue(emailSent);
    };
   };
 }
 }

1 Ответ

0 голосов
/ 09 июля 2019

После долгих чтений в праздничные выходные я переписал сценарий, и теперь он работает так, как мы хотим. Спасибо всем за вашу помощь.

 var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Responses');
  var startRow = 2;
  var numRows = 700; 
   var dataRange = ss.getRange("A2:Q700"); 
   var data = dataRange.getValues();
  var emailSent = "Email Sent";
  for (var i = 0; i < data.length; ++i) {

// Тело письма в середине ///

var isEmailSent = row[16];
  if (isEmailSent != "Email Sent") {
     MailApp.sendEmail(Email, subject, emailBody); 
    ss.getRange(startRow + i,17).setValue(emailSent);
    };
   };
 }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...