【问题标题】:TypeError: Cannot read property 'getRange' of null deleteRowsTypeError:无法读取 null deleteRows 的属性“getRange”
【发布时间】:2021-04-23 18:42:48
【问题描述】:

我有这段代码可以删除表中的多个特定行

function deleteRows() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('comp');
  var r = s.getRange('A:A');
  var v = r.getValues();
  for(var i=v.length-1;i>=0;i--)
    if(v[0,i]=='is a unique address')
      s.deleteRow(i+1);
};

工作表名称正确,列已填充,文本位也正确。

这是错误:

TypeError: Cannot read property 'getRange' of null
deleteRows  @ Code.gs:4
A B
a is a duplicate address, seen 13 times
b is a duplicate address, seen 14 times
c is a duplicate address, seen 7 times
d is a duplicate address, seen 3 times
e is a unique address
f is a duplicate address, seen 2 times
g is a duplicate address, seen 11 times
h is a duplicate address, seen 2 times
i is a duplicate address, seen 4 times
j is a unique address

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    您是否检查了选项卡名称中是否没有尾随空格?

    另外,在代码中更进一步(假设“唯一地址”在 A 列中)所以可能需要更改这一行

    if(v[0,i]=='is a unique address')
    

    if(v[i][0].indexOf('is a unique address')>-1)
    

    看看有没有帮助?

    【讨论】:

    • 是的,应该提到这一点。但if(v[i][0]=='is a unique address')als 不起作用
    • 测试了你的代码,它工作正常。 'is an unique address' 是您要匹配的地址的占位符吗?你能澄清你想要达到的目标吗?或者更好的是,分享您的电子表格副本?
    • 添加表格(缩短版)(a,b,c..等于敏感信息)
    • 好的。您不是在寻找精确匹配。尝试使用 indexOf。请参阅我的更新答案。
    猜你喜欢
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    • 2022-01-12
    • 2021-12-04
    相关资源
    最近更新 更多