【问题标题】:TypeError: Cannot call method "getRange" of null. (line 0)TypeError:无法调用 null 的方法“getRange”。 (第 0 行)
【发布时间】:2020-10-28 04:54:31
【问题描述】:

当我尝试运行此脚本时,我不断收到此错误。它运行了好几天。它位于 Google Docs 电子表格中。

TypeError:无法调用 null 的方法“getRange”。 (第 0 行)

ss = SpreadsheetApp.getActiveSpreadsheet();


function onOpen() {
 var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menuEntries = [ {name: "New PO", functionName: "NewPO"}];
   ss.addMenu("New PO", menuEntries);
 }


function NewPO() {
  SpreadsheetApp.getActiveSheet().insertRowsBefore(1,6);


  // Adjust this range accordingly, these are the cells that will be
  // copied.  Format is getRange(startRow, startCol, numRows, numCols)
  ss.getSheetByName("PO Form").getRange(1, 1, 6, 8)
  .copyTo(SpreadsheetApp.getActiveSheet().getRange(1, 1, 6, 8));
   }


function onEdit(e) {
  var ss = e.source.getActiveSheet();
  var r = e.source.getActiveRange();
  // 1 is A, 2 is B, ... 8 is H
  if (r.getColumn() == 8 && r.getValue() == "x") {
    r.setValue(Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd"));
  }
}

您是否可以看到会导致此错误的任何内容? ​

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    您是否检查过ss.getSheetByName("PO Form") 的返回值。很可能是null。您还有一个名为ss 的类级别变量和名为ss 的方法变量。如果您不小心,这种阴影可能会导致问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-20
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多