Вам необходимо сначала получить сообщения для всех YES
продуктов, а после того, как вы их все получили, позвоните Browser.msgBox
.
Метод 1. Объединение массива:
Вы может использовать массив, содержащий сообщения для каждого продукта, и вызывать msgBox
после завершения для l oop, предоставляя строку, возвращаемую путем присоединения к массиву с помощью Array.prototype.join () :
var messages = [];
for(var i=0;i<findArray.length;i++) {
var f=srg.createTextFinder(String(findArray[i])).matchCase(true).findAll();
var d=0;
if(f.length>0) {
for(var j=0;j<f.length;j++) {
messages.push(CALENDARsheet.getRange(f[j].getRow()-d,1).getValue() + ' product has ' + CALENDARsheet.getRange(f[j].getRow()-d,7).getValue() + ' days to go on sale.');
}
}
}
Browser.msgBox('ALERT ALERT', messages.join("\\n"), Browser.Buttons.OK);
Метод 2. Конкатенация строк:
Другой вариант - объединить все сообщения в одну строку с помощью String.prototype.concat () ; определите message
как пустую строку перед вашим внешним l oop и замените свой внутренний l oop код следующим:
message = message.concat("\\n", CALENDARsheet.getRange(f[j].getRow()-d,1).getValue() + ' product has ' + CALENDARsheet.getRange(f[j].getRow()-d,7).getValue() + ' days to go on sale.');
А также после for l oop вызовите msgBox
:
Browser.msgBox('ALERT ALERT', message, Browser.Buttons.OK);
Примечание:
Я бы посоветовал вам попробовать немного переделать свой код, это можно было бы значительно упростить.