Nes*_*est 2 javascript google-sheets google-apps-script
我有一个电子表格,可以手动更新名称。我设置了一个触发器,只要电子表格被编辑,它就会激活该功能。我希望函数检查名称“ John”的范围D1:D500。如果单元格包含该值,则应发送电子邮件。我已经两年没有写代码了,所以我很生锈。我不太确定自己在这里做错了什么。我认为弄乱了阵列。
function CheckMail() {
var mailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("October").getRange("D1:D500");
var data = mailRange.getValue();
var dataLength = data.length;
for(var i=0;i<dataLength;i++){
if(data[i][1] == "John") {
var emailAddress = "myemail@gmail.com"
var message = 'New parcel for ' + data[i][1];
var subject = 'New parcel';
MailApp.sendEmail(emailAddress, subject, message);
}
}
}
Run Code Online (Sandbox Code Playgroud)
罗斯在评论中分享了什么-用getValues(复数)而不是getValue+
你也并不需要 data[i][1] (二维数组)为你获取数据的一列:)
尝试这个 -
function CheckMail() {
var mailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("October").getRange("D1:D500");
var data = mailRange.getValues();
var dataLength = data.length;
for(var i=0;i<dataLength;i++){
if(data[i] == "John") {
Logger.log("Got John")
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以根据需要替换Logger并运行任何其他代码。希望这可以帮助!
编辑:删除我的理由,为什么data[i][1]可能行不通