我做了一个简单的脚本,根据条件发送电子邮件,然后删除该行,以便不再发送同一封电子邮件。
但是,出现以下错误:
内部错误:找不到方法deleteRow((class))。
代码如下:
function ProjectEmailer(){
var ss=SpreadsheetApp.getActive();
ss.setActiveSheet(ss.getSheetByName("Lines Ready Emailer"));
var sheet=SpreadsheetApp.getActiveSheet();
var dataRange=sheet.getRange("A2:G") ;
var data=dataRange.getValues();
for (i in data) {
var rowData = data[i];
if (!rowData || rowData[0] == "") {break;}
var emailAddress = rowData[4];
var emailsubject = rowData[5];
var emailbody = rowData[6];
if(rowData[3] === "Lines were written"){
MailApp.sendEmail({
to:emailAddress,
subject:emailsubject,
body:emailbody,
});
sheet.deleteRow(rowData[7]);
}
}
}
答案 0 :(得分:1)
您正在将数据范围传递给deleteRow函数。但是,它将收到一个整数而不是一个数据范围。 请看一下function documentation。
尝试以下代码:
sheet.deleteRow(7);