Получать уведомления, относящиеся только к электронной таблице столбцов - PullRequest
0 голосов
/ 18 марта 2019

Я добавил в свой сценарий, что только когда столбец «C» что-либо изменит в нем, он сообщит мне по электронной почте.

Но пока я получаю электронное письмо уже тогда, когда даже столбецА до Q меняются.Кто-нибудь, кто может мне помочь?

function onEdit(e) {
   var ss = SpreadsheetApp.getActiveSpreadsheet();
   var s = SpreadsheetApp.getActiveSheet();
   if (s.getName() == 'OUT OF STOCK') {

     var cell = s.getActiveCell().getA1Notation();
     var row = s.getActiveRange().getRow();
     var cellvalue = s.getActiveCell().getValue().toString();
     var recipients = "ringo@ledstores.nl";
     var message = '';
     if(cell.indexOf('CC')!=-1){ 
       message = s.getRange('CC'+ s.getActiveCell().getRowIndex()).getValue()
     }
     var subject = 'Update to '+s.getName();
     var body = s.getName() + ' has been updated. Visit ' + ss.getUrl() + ' to view the changes on row: «' + row + '». New comment: «' + cellvalue + '». For message: «' + message + '»';
     MailApp.sendEmail(recipients, subject, body);

   }
 };

1 Ответ

0 голосов
/ 27 марта 2019

Через несколько часов, пытаясь исправить свой собственный код, я пришел с решением! Хочу поделиться этим с другими людьми, которые могут им помочь.

function onEditTrigger(e){
  var range = e.range;
  var intCol = range.getColumn();

  if (intCol == 3)                                          
  {
    var intRow = range.getRow();                              
    var sheet = SpreadsheetApp.getActiveSheet();
    var dataRange = sheet.getRange(intRow, 1, 1, 3);          
    var dataValues = dataRange.getValues();                   
    var s = SpreadsheetApp.getActiveSheet();
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var row = s.getActiveRange().getRow();
    var cellvalue = s.getActiveCell().getValue().toString();
    var recipients = "youremail@here.com";
    var message = '';

       if (s.getName() == 'Sheet name'){ 
         
    var subject = 'Update to '+s.getName();
     var body = s.getName() + ' has been updated. Visit ' + ss.getUrl() + ' to view the changes on row: «' + row + '». New comment: «' + cellvalue + '»';
     MailApp.sendEmail(recipients, subject, body);
     }
  }
}
...