Вы хотите включить переменные в электронное письмо, только если переменная имеет значение. Следующий код отличается от вашего по нескольким причинам:
- значения PO извлекаются целиком:
sheet.getRange(15,12,10,1).getValues();
Это позволяет оценивать содержимое без сложной обработки переменных - зацикливание кодачерез значения:
for (var i=0; i<PO.length;i++){
и - оценивает, имеет ли PO значение
if ( if (POValue){){
- , если это оценивается как да (PO имеет значение), то он добавляется в электронное письмотекст (
POText = POText+POValue+"<br>"
);в противном случае это ПО не включается в текст электронного письма.
function so58564238() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetname = "58564238";
var sheet = ss.getSheetByName(sheetname);
var POText = "";
var PO = sheet.getRange(15,12,10,1).getValues();
for (var i=0; i<PO.length;i++){
var POValue = PO[i][0];
if (POValue){
POText = POText+POValue+"<br>"
}
}
Logger.log(POText)
}
Включение почтового теста
function mailtest() {
var TO = SpreadsheetApp.getActiveSheet().getRange('N3').getValue();
var CC = SpreadsheetApp.getActiveSheet().getRange('N5').getValue();
var SUBJECT = SpreadsheetApp.getActiveSheet().getRange('L9').getValue();
var TEXT = SpreadsheetApp.getActiveSheet().getRange('L11').getValue();
var TEXT2 = SpreadsheetApp.getActiveSheet().getRange('L13').getValue();
var POText = "";
var PO = sheet.getRange(15,12,10,1).getValues();
for (var i=0; i<PO.length;i++){
var POValue = PO[i][0]
if (POValue){
POText = POText+POValue+"<br>"
}
}
var signature = Gmail.Users.Settings.SendAs.list("me").sendAs.filter(function(account){if(account.isDefault){return true}})[0].signature;
MailApp.sendEmail({
to: TO,
subject: SUBJECT,
cc: CC,
htmlBody:
TEXT+"<br><br>"+
TEXT2+"<br><br>"+
POText+"<br>"+
signature
});
}