Cześć. Mam taki kod:
var admin_email='email@gmail.com'; //<- 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źć.