Modyfikacja skryptu wysyłającego email z arkusza google

0

Cześć. Mam taki kod:

var admin_email='[email protected]'; //<- update your email address here

function triggerOnEdit(e)
{
  sendEmailOnApproval(e);
}

function showMessageOnApproval(e)
{
  var edited_row = checkStatusIsApproved(e);
  if(edited_row > 0)
  {
    SpreadsheetApp.getUi().alert("Row # "+edited_row+" approved!");
  }
}

function showMessageOnUpdate(e)
{
  var range = e.range;
  
  SpreadsheetApp.getUi().alert("range updated " +   range.getA1Notation());  
}

function checkStatusIsApproved(e)
{
  var range = e.range;
  
  if(range.getColumn() <= 4 && //ZACIĄGANIE STATUSU Z ARKUSZA (KOLUMNA NR2)
     range.getLastColumn() >=4 )
  {
    var edited_row = range.getRow();
    
    var status = SpreadsheetApp.getActiveSheet().getRange(edited_row,4).getValue();
    if(status == 'Online','Offline')
    {
      return edited_row;
    }
  }
  return 0;
}

function sendEmailOnApproval(e)
{
  var approved_row = checkStatusIsApproved(e);
  
  if(approved_row <= 0)
  {
    return;
  }
  
  sendEmailByRow(approved_row);
}

function composeApprovedEmail(row_values)
{
  var imie = row_values[0];
  var nazwisko = row_values[1];
  var stanowisko = row_values[2];
  var status = row_values[3];
  

  var message = "Zmiana statusu: "+imie+" "+nazwisko+" jest teraz "+status+"."; //treść wiadomości email
  var subject = "Zmiana statusu: "+nazwisko+" "+imie+", "+status+".";           //treść tematu email
  return({message:message,subject:subject});
}

function sendEmailByRow(row)
{
  var values = SpreadsheetApp.getActiveSheet().getRange(row,1,row,4).getValues();
  var row_values = values[0];
  var mail = composeApprovedEmail(row_values);
  
  //Uncomment this line for testing
  //SpreadsheetApp.getUi().alert(" subject is "+mail.subject+"\n message "+mail.message);
  
  MailApp.sendEmail(admin_email,mail.subject,mail.message);
  
  var candidate_email = composeCandidateEmail(row_values);
  
  MailApp.sendEmail(candidate_email.email,candidate_email.subject,candidate_email.message);
}

Skrypt wysyła na moją skrzynkę email, kiedy któraś z osób zmieni status w kolumnie D. Skrypt działa tylko wtedy, kiedy status zostanie zmieniony manualnie - "myszką". Chciałbym zmodyfikować kod tak, żeby email z informacją o zmianie statusu przychodził również wtedy, gdy status zmieni się przy użyciu funkcji IF z kolumny E, czyli 1 zmienia status na Online, a 2 na Offline. Niestety, póki co nie wiem jak to ugryźć.

1.png

0

A nie możesz po prostu nasłuchiwać na kolumnie D oraz E?

1 użytkowników online, w tym zalogowanych: 0, gości: 1