Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script google应用程序脚本:mailapp已停止在正文中包含文本_Google Apps Script - Fatal编程技术网

Google apps script google应用程序脚本:mailapp已停止在正文中包含文本

Google apps script google应用程序脚本:mailapp已停止在正文中包含文本,google-apps-script,Google Apps Script,我拼凑了两个基本函数来创建一个Google表单,当用户点击submit时,它会返回一个唯一的标识号。这些函数位于电子表格中,在电子表格中收集响应并在提交时触发。今天早上一切都很顺利。今天下午,当提交的表单中的最后一个字段为“否”时,电子邮件的正文为空。现在电子邮件的正文总是空白的。是否有任何原因导致此代码不再工作 function addFormula() { var sheet1 = SpreadsheetApp.getActiveSheet(); var startRow1 = 2;

我拼凑了两个基本函数来创建一个Google表单,当用户点击submit时,它会返回一个唯一的标识号。这些函数位于电子表格中,在电子表格中收集响应并在提交时触发。今天早上一切都很顺利。今天下午,当提交的表单中的最后一个字段为“否”时,电子邮件的正文为空。现在电子邮件的正文总是空白的。是否有任何原因导致此代码不再工作

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();
    }
  }
}

我想我明白了。这两个函数都是在表单提交时执行的,哪个函数会首先触发是随机的。我将这两个函数合并为一个函数,看起来它解决了这个问题。谢谢Serge的帮助。

据我所知,您正在阅读最后一行下方的9行。。。它们确实是空的。。。是我错了还是我错过了一些明显的东西?这只是一个建议…感谢您的关注。它应该在最后一行中读取9列数据。电子邮件地址和主题最终会出现在电子邮件中,但有时电子邮件正文是空白的。?在编写sheet.getRangestartRow,1,numRows,9时,您正在从可能正确的最后一行开始读取9行9列。这是我的第一个剧本。。。它以前似乎可以工作,但现在邮件应用程序不起作用。如果您有标题,请尝试var startRow=1或2,它应该会变得更好。