我有一个删除包含某些关键字的rotes的脚本,但只要单元格内容的格式为'x.name@email,它就会返回错误(“那些行超出范围。”) .com'(其中'x'是任何字母)但不是,例如'xname@email.com'。
例如,我希望删除电子邮件列表中的所有“机器人”实例,如果术语以“robot@email.com”的形式出现,则脚本可以正常工作,但如果出现超出界限的错误,格式为'a.robot@email.com'。
以下是代码:
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet(),
options = [
{name:"Remove Duplicates", functionName:"removeDuplicates"},
{name:"Remove Keywords", functionName:"removeKeywords"}
];
ss.addMenu("Functions", options);
}
function removeKeywords() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
var rowsDeleted = 0;
for (var i = 0; i <= numRows - 1; i++) {
var row = values[i];
if (row[0].toLowerCase().indexOf("robot") > -1) {
sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
rowsDeleted++;
}
}
当这个术语出现在'x.robot@email.com'格式中时,我知道为什么会出现'越界'错误,其中'x'是任何字母?