Frage

Ich erhalte diese Störung, wenn ich versuche, und führen Sie dieses Skript. Es hat sich für mehrere Tage ganz gut laufen. Es ist in einer Google Docs Spreadsheet.

Typeerror: Can not Call-Methode "getRange" von null. (Zeile 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"));
  }
}

Gibt es etwas, können Sie sehen, dass dieser Fehler verursachen würde?

War es hilfreich?

Lösung

Haben Sie überprüft den Rückgabewert von ss.getSheetByName("PO Form"). Es ist sehr wahrscheinlich null. Sie haben auch eine Klassenstufe Variable namedss und Methodenvariablen als auch genannt ss. Diese Art der Beschattung zu Problemen führen kann, wenn man nicht sehr vorsichtig ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top