Я пытаюсь отправить электронное письмо администратору определенного отдела, который находится на определенном листе. Все идет гладко, за исключением того, что почта никогда не отправляется. Мой сценарий делает больше, чем просто отправку почты, но плохо, но именно мой код. Кстати, это мой первый опыт работы со скриптом Google, поэтому не стесняйтесь улучшать мой скрипт.
function onEdit(event)
{
var app = SpreadsheetApp;
var ss = app.getActiveSpreadsheet();
var s = ss.getActiveSheet();
var r = s.getActiveRange();
var completerPar = s.getRange(r.getRow(),9);
var completerQuand = s.getRange(r.getRow(),10);
if(r.getColumn() == 8 && r.getValue() == true)
{
if ( s.getName() == "RepFormulaireDemande")
{
var row = r.getRow();
r.setValue(false);
var numColumns = s.getLastColumn();
var range = s.getRange(row,3);
var Departement = range.getDisplayValue();
var targetSheet = ss.getSheetByName(Departement);
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
range = s.getRange(row,7);
s.getRange(row, 1, 1, numColumns).copyTo(target);
s.getRange(row, 1, 1, numColumns).setBackgroundRGB(0,255, 0);
r.setValue("Envoyé");
//avertissement à l'administrateur de département
s = ss.getSheetByName("Administrateurs");
var column = 2
range = s.getRange(1,column);
while (range.getDisplayValue() != Departement)
{
column += 1
range = s.getRange(1,column);
}
range = s.getRange(2,column);
for (var x = 3 ; x - 2 <= range.getDisplayValue(); x++)
{
var emailRange = s.getRange(x,column);
var emailAdresse = emailRange.getDisplayValue();
var message = "La page " + Departement + " du HelpDesk a été mise à jour!;
var subject = "HelpDesk" + Departement;
MailApp.sendEmail(emailAdresse,subject,message);
}
}
else if(completerPar.getValue() !== "" && completerQuand.getValue() !== "")
{
var row = r.getRow();
r.setValue("fini");
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Completer");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).setBackgroundRGB(255, 255, 255);
s.getRange(row, 1, 1, numColumns).copyTo(target);
s.deleteRow(row);
var delai = targetSheet.getRange(targetSheet.getLastRow(), 11);
row = targetSheet.getLastRow();
delai.setValue('=IF(DAYS(J' + row + '; $A' + row + ') = 1;DAYS(J' + row + '; $A' + row + ') & " jour"; DAYS(J' + row + '; $A' + row + ') & " jours")' );
}
else
{
r.setValue(false);
}
}
}
*yes my script has some french in it sorry*