Javascript For和MailApp的问题

Javascript For和MailApp的问题,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我有一个代码,我已经编译了一些其他代码,但它不是完全做我想要的。我们的想法是在每一行中循环搜索一个关键字(TRUE),然后发送一封电子邮件到a列中列出的电子邮件地址,邮件在B列中。不幸的是,我自己还没有足够的技能来完成这项工作 function findAndSendMail() { var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Reminder'); var search = "TRUE" var la

我有一个代码,我已经编译了一些其他代码,但它不是完全做我想要的。我们的想法是在每一行中循环搜索一个关键字(TRUE),然后发送一封电子邮件到a列中列出的电子邮件地址,邮件在B列中。不幸的是,我自己还没有足够的技能来完成这项工作

function findAndSendMail() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Reminder');
  var search = "TRUE"
  var lastRow = ss.getLastRow();
  var range = ss.getRange(1,5,lastRow); //define range for column E
  //find all occurrences of "TRUE" in column E and push range to array
  var ranges = range.createTextFinder(search).findAll();
  var message = '';

  //loop through each range
  for (i = 0; i < ranges.length; i++) {

    var row = ranges[i].getRow();
    var lastCol = ss.getLastColumn();
    var values = ss.getRange(row, 1, 1, lastCol).getValues(); //get all values for the row
    var emailAddress = values[0][0];       //column A
    var reminder = values[0][1]; //column B
    var sendvalidation = values[0][4]; //column E

    if (sendvalidation = true) {
      message+=Utilities.formatString("**This is an automated message.**\n\n"+reminder+"\n\n**This is an automated message.**");
    }

  var subject = 'General Reminder';

  if (message) {
    MailApp.sendEmail(emailAddress, subject, message);
  }
}
}
函数findAndSendMail(){
var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“提醒”);
var search=“TRUE”
var lastRow=ss.getLastRow();
var range=ss.getRange(1,5,lastRow);//为列E定义范围
//在列E中查找所有出现的“TRUE”,并将范围推送到数组
var ranges=range.createTextFinder(search.findAll();
var消息=“”;
//在每个范围内循环
对于(i=0;i

我希望每行有一封电子邮件,其中只包含该行的信息。我目前收到的是一封第一行的电子邮件,然后是另一封第一行和第二行的电子邮件,然后是另一封第一行、第二行和第三行的电子邮件,等等。

基于这个问题,听起来你有一个电子表格,如果col E=“TRUE”,你希望它将B栏中的内容发送给a栏中的收件人。我自己也有点新手,但下面是我将如何处理这种情况。我们在这里做的是将电子表格中的所有数据拉入一个数组,然后在该数组上循环,如果col E=“TRUE”,则将行推入一个新数组。然后,我们在新数组上循环,并为每一行发送一封包含其数据的电子邮件

`function findAndSendMail() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Reminder');
  var data = ss.getDataRange().getValues();
  var emails = [];
  for(var i = 0; i < data.length; i ++) {
   //  Make sure this points at the column you want to check 
    if(data[i][4] === "TRUE") {
      emails.push(data[i]);
    }
  }
  for(var j = 0; j < emails.length; j ++) {
    var row = emails[j];
    var emailAddress = row[0];
    var reminder = row[1];
    if(reminder !== "") {
      var message = "**This is an automated message.**\n\n"" + reminder + "\n\n**This 
is an automated message.**";
      var email = {
        to: emailAddress,
        subject: "General Reminder",
        body: message
        };
      MailApp.sendEmail(email);
    } 
  }
 } `
`findAndSendMail()函数{
var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“提醒”);
var data=ss.getDataRange().getValues();
var=[];
对于(变量i=0;i
根据这个问题,听起来您有一个电子表格,如果col E=“TRUE”,您希望它将B栏中的内容发送给a栏中的收件人“我自己也有点新手,但下面是我将如何处理这种情况。我们在这里做的是将电子表格中的所有数据拉入一个数组,然后在该数组上循环,如果col E=“TRUE”,则将行推入一个新数组。然后,我们在新数组上循环,并为每一行发送一封包含其数据的电子邮件

`function findAndSendMail() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Reminder');
  var data = ss.getDataRange().getValues();
  var emails = [];
  for(var i = 0; i < data.length; i ++) {
   //  Make sure this points at the column you want to check 
    if(data[i][4] === "TRUE") {
      emails.push(data[i]);
    }
  }
  for(var j = 0; j < emails.length; j ++) {
    var row = emails[j];
    var emailAddress = row[0];
    var reminder = row[1];
    if(reminder !== "") {
      var message = "**This is an automated message.**\n\n"" + reminder + "\n\n**This 
is an automated message.**";
      var email = {
        to: emailAddress,
        subject: "General Reminder",
        body: message
        };
      MailApp.sendEmail(email);
    } 
  }
 } `
`findAndSendMail()函数{
var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“提醒”);
var data=ss.getDataRange().getValues();
var=[];
对于(变量i=0;i
是我自己想出来的。我从中偷来的代码设置不同,因此我可以通过删除一些条件使其正常工作

function findAndSendMail() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Reminder');
  var search = "TRUE"
  var lastRow = ss.getLastRow();
  var range = ss.getRange(1,5,lastRow); //define range for column E
  //find all occurrences of "TRUE" in column E and push range to array
  var ranges = range.createTextFinder(search).findAll();

  //loop through each range
  for (i = 0; i < ranges.length; i++) {

    var row = ranges[i].getRow();
    var lastCol = ss.getLastColumn();
    var values = ss.getRange(row, 1, 1, lastCol).getValues(); //get all values for the row
    var emailAddress = values[0][0];       //column A
    var reminder = values[0][1]; //column B
    var sendvalidation = values[0][4]; //column E

    var message = reminder;
    var subject = 'General Reminder';
    MailApp.sendEmail(emailAddress, subject, "**This is an automated message.**\n\n"+message+"\n\n**This is an automated message.**");
  }
}
函数findAndSendMail(){
var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“提醒”);
var search=“TRUE”
var lastRow=ss.getLastRow();
var range=ss.getRange(1,5,lastRow);//为列E定义范围
//在列E中查找所有出现的“TRUE”,并将范围推送到数组
var ranges=range.createTextFinder(search.findAll();
//在每个范围内循环
对于(i=0;i
是我自己想出来的。我从中偷来的代码设置不同,因此我可以通过删除一些条件使其正常工作

function findAndSendMail() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Reminder');
  var search = "TRUE"
  var lastRow = ss.getLastRow();
  var range = ss.getRange(1,5,lastRow); //define range for column E
  //find all occurrences of "TRUE" in column E and push range to array
  var ranges = range.createTextFinder(search).findAll();

  //loop through each range
  for (i = 0; i < ranges.length; i++) {

    var row = ranges[i].getRow();
    var lastCol = ss.getLastColumn();
    var values = ss.getRange(row, 1, 1, lastCol).getValues(); //get all values for the row
    var emailAddress = values[0][0];       //column A
    var reminder = values[0][1]; //column B
    var sendvalidation = values[0][4]; //column E

    var message = reminder;
    var subject = 'General Reminder';
    MailApp.sendEmail(emailAddress, subject, "**This is an automated message.**\n\n"+message+"\n\n**This is an automated message.**");
  }
}
函数findAndSendMail(){
var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“提醒”);
var search=“TRUE”
var lastRow=ss.getLastRow();
var range=ss.getRange(1,5,lastRow);//为列E定义范围
//在列E中查找所有出现的“TRUE”,并将范围推送到数组
var ranges=range.createTextFinder(search.findAll();
//在每个范围内循环
对于(i=0;i