У меня есть скрипт, который извлекает несколько значений, помещает их в массив и отправляет по электронной почте. Убедитесь, что после .getValues()
у вас есть .toString()
для преобразования значения в строки, которые могут быть там, где вы столкнулись с проблемой "L java .lang. Object;@7d193b9b". Он просто создаст список со значениями, разделенными запятыми.
так как:
var list = refsheet.getRange(2, 14, 2+i).getValues().toString()
тогда для полного примера:
function AttendanceAlert() {
var refsheet = SpreadsheetApp.getActive().getSheetByName("AttendanceNotification")
var column = refsheet.getRange('N2:N');
var cell = refsheet.getRange(1, 10).getValue(); //get the date I want to search for
var celldate = new Date(cell);
var date = Utilities.formatDate(celldate, "GMT","EEE, MM-dd-yy");
var values = column.getValues(); // get all data in one call
var ct = 0;
while ( values[ct][0] != "" ) {
ct++;
}
var numbers = ct
for(var i = 0; i < numbers; i++) {
var list = refsheet.getRange(2, 14, 2+i).getValues().toString()
Logger.log(list)
}
var recipientsTO = "recipient@email.com" + "," + "recipient@email.com";
MailApp.sendEmail(recipientsTO, "Attendance Update :"+" "+ date , "These individuals have 5 or more total infractions (see parentheses for total), and one recent infraction as of "+ date + ":" +" "+ list + '\n' +
}
Теперь для вашего примера:
sendSpreadsheetToPdf(3, shName, ('email@gmail.com'), sh.getRange('B3').getValue(), Utilities.formatDate(sh.getRange('B4').getValue(), "NZ", "EEE MMM dd"), sh.getRange(28,4,13,1).getValues().toString());
Дайте мне знать, если это работает.
Обновление:
Чтобы получить значения, разделенные переносами строк, а не запятыми, попробуйте следующее:
sendSpreadsheetToPdf(3, shName, ('email@gmail.com'), sh.getRange('B3').getValue(), Utilities.formatDate(sh.getRange('B4').getValue(), "NZ", "EEE MMM dd"), sh.getRange(28,4,13,1).getValues().join("\n"));
, если это не сработает, попробуйте:
sendSpreadsheetToPdf(3, shName, ('email@gmail.com'), sh.getRange('B3').getValue(), Utilities.formatDate(sh.getRange('B4').getValue(), "NZ", "EEE MMM dd"), sh.getRange(28,4,13,1).getValues().join('<br/>'));