Это сделает именно то, что вы ищете. Я очистил некоторые из ваших переменных, потому что получение активной электронной таблицы, затем таблицы, диапазона и т. Д. Не является хорошей практикой. Вы можете определить это один раз, а затем использовать определенную переменную для захвата различных диапазонов, как вам угодно.
function sendEmail() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var refSheet = spreadsheet.getSheetByName('Reference');
var formSheet = spreadsheet.getSheetByName('Form Responses 1');
var lastRow = formSheet.getDataRange().getLastRow();
var subject = formSheet.getRange(lastRow, 6).getValue(); //KMS Survey Text
var message = formSheet.getRange(lastRow, 9).getValue(); //KMS Survey Title
var emailAddress = refSheet.getRange("F2").getValue();
// Send Alert Email.
MailApp.sendEmail(emailAddress, subject, message);
}
Вместо getRange().getDataRegion().getLastRow()
вы можете использовать getDataRange()
на листе, чтобы получить весь диапазон данных, которые вы в данный момент получили на листе, а затем использовать getLastRow()
для этого вместо:
var lastRow = formSheet.getDataRange().getLastRow();
Затем используйте это, чтобы получить диапазон ваших данных для электронного письма, обратите внимание: getRange()
строки / столбцы проиндексированы с 1, поэтому столбец F = 6, столбец I = 9:
var subject = formSheet.getRange(lastRow, 6).getValue(); //KMS Survey Text
var message = formSheet.getRange(lastRow, 9).getValue(); //KMS Survey Title