如何修复TypeError

时间:2015-08-24 13:32:33

标签: google-apps-script google-sheets

我试图运行此脚本并继续收到以下错误。有人可以帮助并告诉我我做错了什么。

  

TypeError:无法调用方法" getRange"为null。 (第6行,文件"")

这是我试图运行的脚本

function add() {

var sheetName = "Purchase Order Form" ;

var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PurchaseOrderForm");
var range = ss.getRange("A1");
var value = range.getValue("A1");

range.setValue(value + 1);

}

2 个答案:

答案 0 :(得分:0)

我认为您忘记在电子表格中选择工作表(电子表格可以有多张工作表)。

function add() {

var sheetName = "Purchase Order Form" ;

var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PurchaseOrderForm");

// select the first sheet.
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1"); 
var value = range.getValue("A1");

range.setValue(value + 1);

}

答案 1 :(得分:0)

在您的代码中,给出了两个不同的工作表名称:第一个在此处声明(采购订单表单)

var sheetName = "Purchase Order Form" ;

而在代码的后面,您选择一个名称不同的表单(PurchaseOrderForm)

var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PurchaseOrderForm");

您必须确保输入正确的工作表名称。此外,您无需为getValue()输入单元格坐标,如

range.getValue("A1");

如果你想在变量中保留工作表名称,这里是更正后的&测试了名为采购订单表的工作表的代码:

function add() {
  var sheetName = "Purchase Order Form";
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  var range = ss.getRange("A1"); 
  var value = range.getValue();
  range.setValue(value + 1);
}