gpt4 book ai didi

javascript - 如何检测行并相对转到下一列的单元格?

转载 作者:行者123 更新时间:2023-12-03 03:18:01 25 4
gpt4 key购买 nike

我编写了一个代码来自动从谷歌表格发送邮件。每天,如果“状态”列包含“计时”单元格,我想发送电子邮件。它有效。但我不想向前几天收到邮件的人发送邮件,因此我在发送电子邮件后创建了 CHECK 以“已发送”填写另一列。它失败了。我无法检测到包含程序用来相对另一列插入“已发送”的电子邮件地址的行。

你能帮我吗?

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

最佳答案

这是适合您的用例的迷你解决方案。只要玩一下就可以了解它是如何工作的。 (0,0)、(0,1)等表示数组的索引号。

这是示例表 enter image description here

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()
//. . .
}
}
}
}

如果 CHECK 列下的值标记为 NOT,您可以放置​​向该人发送电子邮件的方法 (values[i][0])。

关于javascript - 如何检测行并相对转到下一列的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46683214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com