我是一个javascript新手,并试图为电子表格编写一个脚本,从中提取各种内容。马上,我无法定义spreasheet中的一系列名称。错误显示“缺失;在陈述之前(第10行)”
function readRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
//var values = rows.getValues();
var Names = sheet.getRange("A2:A7");
var Name = new Array(6);
var Name_cell = Names.getCell(1, 1);
var Name[0] = Name_cell.getValue(); // <-- Here's the issue
var Name_cell = Names.getCell(2, 1);
var Name[1] = Name_cell.getValue();
var Name_cell = Names.getCell(3, 1);
var Name[2] = Name_cell.getValue();
var Name_cell = Names.getCell(4, 1);
var Name[3] = Name_cell.getValue();
var Name_cell = Names.getCell(5, 1);
var Name[4] = Name_cell.getValue();
var Name_cell = Names.getCell(6, 1);
var Name[5] = Name_cell.getValue();
// ...
}
答案 0 :(得分:8)
试试这个
function readRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
//var values = rows.getValues();
var Names = sheet.getRange("A2:A7");
var Name = [
Names.getCell(1, 1).getValue(),
Names.getCell(2, 1).getValue(),
.....
Names.getCell(5, 1).getValue()]
您可以简单地按如下方式定义数组,而不是分配然后分配。
var arr = [1,2,3,5]
您的初始错误是由于以下行和类似的行
var Name[0] = Name_cell.getValue();
由于Name
已经定义,并且您要将值分配给其元素,因此您应该跳过var
,所以只需
Name[0] = Name_cell.getValue();
专业提示:对于大多数问题,就像这个问题一样,不直接涉及Google服务,一般情况下,谷歌搜索javascript的方式最好。
答案 1 :(得分:2)
我想也许是因为你声明了一个你已经声明过的变量:
var Name = new Array(6);
//...
var Name[0] = Name_cell.getValue(); // <-- Here's the issue: 'var'
我认为这应该是这样的:
var Name = new Array(6);
//...
Name[0] = Name_cell.getValue();
告诉我它是否有效! ;)
答案 2 :(得分:1)
对于一些像我一样挣扎的人来说,这可能会有所帮助:
var data = myform.getRange("A:AA").getValues().pop();
var myvariable1 = data[4];
var myvariable2 = data[7];