0
我将两个基本功能拼凑在一起,以创建一个Google表单,当用户点击提交时,该表单返回唯一标识号。这些功能位于电子表格中收集响应并在提交时触发。今天早上一切都很好。然后在今天下午当提交的表单中的最后一个字段为“否”时,电子邮件的正文为空。现在电子邮件的正文总是空白。此代码是否有任何原因不再有效?谷歌应用程序脚本:mailapp已停止在主体中包含文本
function addFormula() {
var sheet1 = SpreadsheetApp.getActiveSheet();
var startRow1 = 2;
var startColumn1 = 6;
var numberRows1 = 1;
var numberColumns1 = 9;
var lastRow1 = sheet1.getLastRow();
var sourceRange1 = sheet1.getRange(startRow1, startColumn1, numberRows1, numberColumns1);
var destinationRange1 = sheet1.getRange(lastRow1, startColumn1, numberRows1, numberColumns1);
sourceRange1.copyTo(destinationRange1);
};
var EMAIL_SENT = "EMAIL_SENT";
function sendEmails2() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = sheet.getLastRow(); // First row of data to process
var numRows = 9; // Number of rows to process
// Fetch the range of cells
var dataRange = sheet.getRange(startRow, 1, numRows, 9)
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var TimeStamp = row[0]; // First column
var Name = row[1]; // Second column
var Email = row[2]; // Third column
var Leg1 = row[3];
var CNeed = row[4];
var Year = row[5];
var CCode = row [6];
var Number = row [7];
var TripNumber = row [8];
var emailSent = row [9];
if (emailSent != EMAIL_SENT) { // Prevents sending duplicates
var subject = "Automated Message: Your Trip Number";
MailApp.sendEmail(Email, subject, TripNumber);
sheet.getRange(startRow + i, 10).setValue(EMAIL_SENT);
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
}
}
}
从我所了解的你正在阅读最后一排下面的9排......他们确实是空的......我错了还是错过了明显的东西? (这只是一个建议...) –
感谢您的采访。它应该在数据的最后一行读取9列。电子邮件地址和主题最终在电子邮件中,但有时电子邮件的主体是空白的。 – user3285805
?当写sheet.getRange(startRow,1,numRows,9)时,你正在读取9行9列,从lastRow列开始A –