无法使用null调用Google App Script getRange()方法

时间:2016-08-10 13:51:03

标签: google-apps-script google-sheets

function doGet(){

  try{

    var html = HtmlService.createTemplateFromFile('index').evaluate().setTitle('Web App').setSandboxMode(HtmlService.SandboxMode.NATIVE);
    var x = t;

  } catch(error){

    var errorSheet = SpreadsheetApp.openById('...MySpreadSheetID...').getSheetByName('errors');
    var cell = errorSheet.getRange('A1').offset(errorSheet.getLastRow(), 0);
    cell.setValue(new Date() + ' function doGet():  ' + error)

  }

  return html;

}

为什么getRange()方法不起作用。

它声明无法调用null的getRange()?

2 个答案:

答案 0 :(得分:1)

getRange()期望至少有一个参数(取决于参数配置)。可能您的电子表格中没有名为errors的标签。

<强>建议:

如果要在下一个可用行添加新行,可以使用appendRow()方法,只需考虑此方法需要一组值。您的catch语句应如下所示:

  } catch(error){

    var errorSheet = SpreadsheetApp.openById('...MySpreadSheetID...').getSheetByName('errors');
    errorSheet.appendRow([new Date() + ' function doGet():  ' + error])
  }

答案 1 :(得分:0)

您的SpreadsheetApp.openById(...)引用“... MySpreadSheetID ...”,可能未定义。

您需要在帐户中提供已定义电子表格的正确ID。

/ edit:未定义的电子表格或电子表格中未定义的工作表。