TypeError:无法调用方法"getRange"的null.(第4行,文件“代码" [英] TypeError: Cannot call method "getRange" of null. (line 4, file "Code"
本文介绍了TypeError:无法调用方法"getRange"的null.(第4行,文件“代码"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试删除包含特定字符串"X"的特定行.
I am trying to delete specific rows containing specific string "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);
};
但是我遇到了以下错误:
But I am getting below error:
TypeError:无法调用方法"null的getRange"(第4行,文件代码").
TypeError: Cannot call method "getRange of null.(line 4, file "Code").
有人可以帮助我解决此错误吗?谢谢
Can Anybody help me resolving this error? Thank you
推荐答案
来自文档:getSheetByName()如果没有具有给定名称的图纸,则返回null."因此,您需要处理该问题,请参阅插入的if块:
From the documentation: getSheetByName() "Returns null if there is no sheet with the given name." So you need to handle that, see the inserted if block:
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);
}
这篇关于TypeError:无法调用方法"getRange"的null.(第4行,文件“代码"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文