我正在尝试删除包含特定字符串“ X”的特定行。
function deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('delete containing');
var r = s.getRange('A:A');
var v = r.getValues();
for(var i=v.length-1;i>=0;i--)
if(v[0,i]=='Substitution: ')
s.deleteRow(i+1);
};
但是我遇到了以下错误:
TypeError:无法调用方法“ null的getRange”(第4行,文件“代码”)。
有人可以帮助我解决此错误吗?谢谢
答案 0 :(得分:0)
从documentation:getSheetByName()“如果没有具有给定名称的图纸,则返回null。”因此,您需要进行处理,请参阅插入的if块:
function deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('delete containing');
if (s === null) {
ui = SpreadsheetApp.getUi();
ui.alert("No worksheet of that name"); // Note: displays in the worksheet GUI, not the scripts editor.
return false;
}
var r = s.getRange('A:A');
var v = r.getValues();
for(var i=v.length-1;i>=0;i--)
if(v[0,i]=='Substitution: ') // [sic] jshint kicking up a storm about this line!
s.deleteRow(i+1);
}