Javascript 如何检测行并相对转到下一列中的单元格?
我写了一个代码,可以从google sheet自动发送邮件。每天如果列状态有单元格“计时”,我想发送电子邮件。它是有效的。但我不想给前几天收到邮件的人发送邮件,所以我创建了一个检查,在发送邮件后用“发送”来填充另一列。它失败了。我无法检测到包含emailaddress的行,该程序用于相对其他列插入“sent” 你能帮我吗Javascript 如何检测行并相对转到下一列中的单元格?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我写了一个代码,可以从google sheet自动发送邮件。每天如果列状态有单元格“计时”,我想发送电子邮件。它是有效的。但我不想给前几天收到邮件的人发送邮件,所以我创建了一个检查,在发送邮件后用“发送”来填充另一列。它失败了。我无法检测到包含emailaddress的行,该程序用于相对其他列插入“sent” 你能帮我吗 function sendEmails() { var she = SpreadsheetApp.getActiveSpreadsheet().getSheetByName
function sendEmails() {
var she = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("basic");
var startRow = 2;
var numRows = 1000;
var dataRange = she.getRange(startRow, 1, numRows, 1000)
var data = dataRange.getValues();
var text = she.getRange("L2");
var message = text.getValues();
for (i in data) {
var col = data[i];
var emailAddress = col[1];
var subject = "Project reminder";
var status = col[3];
var check = col[8];
if (status == "Timing"){
MailApp.sendEmail(emailAddress, subject, message) &&
check.setValue('sent');} //moment when I want to insert 'sent'
}
}
代码的更新部分:
for(var a=0; a < values.length; a++ ){
if(values[a][1] == "not" && values[a][3] == "Timing"){
var emailAddress = values[a][0];
Logger.log("NEED TO SEND AN EMAIL TO " + values[a][0]);
var message = messag + " " + values[a][5];
MailApp.sendEmail(emailAddress, subject, message);
}
}
}
for(var a=0;a
这是一个适用于您的用例的小型解决方案。只是玩一下它,了解它是如何工作的。(0,0)、(0,1)等
表示数组的索引号
这是样品表
函数checkIfSent(){
var ss=SpreadsheetApp.openById(“123454567890abcdefghi”).getSheetByName(“12345”);
var值=ss.getSheetValues(1,1,6,2);
对于(变量i=0;i
如果“检查”列下的值标记为“否”,您可以将您的方法放置为向此人发送电子邮件(
values[i][0]
)。谢谢,您的解决方案给了我这个想法。但在两个维度上的迭代是不必要的。我更新了代码,但仍然不能使用setValue(“sent”)
function checkIfSent(){
var ss = SpreadsheetApp.openById("123454567890abcdefghi").getSheetByName("12345");
var values = ss.getSheetValues(1, 1, 6, 2);
for(var i=0; i < values.length; i++ ){
for(var j=0; j < values.length; j++ ){
if(values[i][j] == "NOT"){
Logger.log("NEED TO SEND AN EMAIL TO " + values[i][0]);
//Send an Email method here()
//. . .
}
}
}
}