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