Я хочу, чтобы моя функция активировалась только на указанном c листе. Но я действительно не умею писать. У меня как 14 листов. И в любое время одно из значений листов изменяется. Он автоматически отправляет электронное письмо, которое я не хочу. Я хочу, чтобы моя функция отправляла электронную почту только на основе листа, который я хочу. (Я добавил триггер вручную в моем текущем проекте триггера).
function CheckbudgetAUD() {
for(var i=2;i<1000; i++){
var num1 = i;
var r = 4;
var department = "AUD";
var transactionIDRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(department).getRange(num1,14);
var transactionID = transactionIDRange.getValue();
var monthRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(department).getRange(num1,12);
var month = monthRange.getValue() ;
var costdescriptionRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(department).getRange(num1,3);
var costdescription = costdescriptionRange.getValue();
var costRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(department).getRange(num1,4);
var cost = costRange.getValue();
var actualbudgetRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(department).getRange(num1,4);
var actualbudget = actualbudgetRange.getValue();
var ApprovalRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(department).getRange(num1,18);
var Approval = ApprovalRange.getValue();
var purposeRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(department).getRange(num1,7);
var purpose = purposeRange.getValue();
var timeRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(department).getRange(num1,1);
var time = timeRange.getValue();
var CEOsapprovalRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(department).getRange(num1,19);
var CEOsapproval = CEOsapprovalRange.getValue();
var addinformationRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(department).getRange(num1,5);
var addi = addinformationRange.getValue();
var thisisdoneRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(department).getRange(num1,30);
var thisisdone = thisisdoneRange.getValue();
var BlankRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(department).getRange(num1,2);
var Blank = BlankRange.getValue();
//Emails Range
var email1Range = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Forecasted budget").getRange("F18");
var email1address = email1Range.getValue();
var email2Range = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Forecasted budget").getRange("F21");
var email2address = email2Range.getValue();
var email3Range = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(department).getRange(num1,6);
var email3address = email3Range.getValue();
// Messages Range
var message1 = "Your request has been " + Approval + "d." + "\n" + "\n" + "Transaction ID: " + transactionID;
var message = "For the " + month + ", " + department + "'s " + costdescription + ' budget exceeded the limit'+ '\n'+ '\n'+ "CURRENT BUDGET APPLICATION INFORMATION" + "\n" + "COST: "+ cost + '\n' + "Transaction ID: "+ transactionID +'\n' + "Cost item: " + costdescription + "\n" + "Purpose: "+ purpose + "\n" + "Department Name: " + department + "\n" + "Timestamp: " + time + "\n" + "additional information: " + addi+ "\n" + 'Click the link below to approve'+ '\n' + 'https://docs.google.com/forms/d/e/1FAIpQLSduX3ol31Ddy3klEpynlO33wprEivAr-e9BL7fZ6Th-JQgjZA/viewform';
var subject = 'Exceeded the budget limit for current month';
var subject1 = 'Form Approval/Decline';
if ( Blank !== "" && thisisdone == "Apple"){
MailApp.sendEmail(email3address, subject1, message1);
}
//Over budget email
if ( Approval == "Decline" && thisisdone == "Apple"){
if ( cost < 200000 ) {
MailApp.sendEmail(email1address, subject, message);}
else if ( cost >= 200000 ) {
MailApp.sendEmail(email2address, subject, message);
}
}
}
}
Я также в основном отправляю электронные письма 3 различным сторонам одновременно в одной функции. Просто к вашему сведению.