Pregunta

Sigo recibiendo este error cuando intento ejecutar este script. Se ha quedado muy bien durante varios días. Se encuentra en una hoja de cálculo de Google Docs.

TypeError: No puede método llamado "GetRange" de null. (Línea 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"));
  }
}

¿Hay algo que se puede ver que haría que este error?

¿Fue útil?

Solución

¿Usted ha comprobado el valor de retorno de ss.getSheetByName("PO Form"). Lo más probable es null. También tiene unas variables de namedss y método de la variable de nivel de clase llamada ss también. Este tipo de sombreado puede conducir a problemas si no eres muy cuidadoso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top