【问题标题】:Cannot read property 'getRange' of null无法读取 null 的属性“getRange”
【发布时间】:2020-07-16 18:43:42
【问题描述】:

我正在使用以下过滤器功能将数据从一张纸复制到另一张纸, 如果列 Q23 = FALSE,则过滤掉,以便仅将数据保存在“数据条目”中。 我已经将 Q23 视为文本 (=TO_TEXT(R29))

function SubmitData01() {
  
  var ss        = SpreadsheetApp.getActiveSpreadsheet();
  var where     = ss.getSheetByName('Data Entry');
  var triggerCell = where.getRange('Q29').getValue();
      
  if (triggerCell == 'TRUE'){} else  // If the cell is true do nothing
  if (triggerCell == 'FALSE'){   // If the cell is false run the script
  
  var ss        = SpreadsheetApp.getActiveSpreadsheet();
  var formSS    = ss.getSheetByName('Data Entry');
  var datasheet = ss.getSheetByName('Address'); 
  var values = [[formSS.getRange("A29").getValue(), 
                 formSS.getRange("I9").getValue(),formSS.getRange("E9").getValue(), 
                 formSS.getRange("E10").getValue(),]];
  
                datasheet.getRange(datasheet.getLastRow()+1, 1, 1, 4).setValues(values);
       }

当我使用上述脚本时,我收到错误消息:

“无法读取 null 的属性 'getRange'(第 5 行,文件“已保存”)”。

【问题讨论】:

  • 历史悠久的故事:var where = ss.getSheetByName('Data Entry');。您可能打错了工作表名称(或者没有这样的工作表),因此nullgetSheetByName 在找不到时返回它)
  • 谢谢@OlegValter,我已经修改过了。
  • Kat,感谢您的确认,很高兴您解决了这个问题 - 我投票结束这个问题,因为它只是错字(虽然 ziganotschka 的回答提供了价值,所以问答值得保留)

标签: google-apps-script google-sheets


【解决方案1】:
  • 错误Cannot read property 'getRange' of null表示脚本找不到指定范围
  • 此错误最常见的原因是指定名称的工作表不存在
  • 请注意,Apps 脚本区分大小写,并且空格也算作字符
  • 所以

Data Entry

不一样

DataEntry

Data entry

【讨论】:

  • 我在工作表名称上写错了,谢谢你,我已经修复了@ziganotschka
猜你喜欢
  • 2021-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多