【发布时间】:2013-12-11 04:48:20
【问题描述】:
function Name_Iterate() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var UpdateSheet = ss.getSheetByName("Update");
var nameSheet = ss.getSheetByName("New Names");
var names = nameSheet.getRange(2, 1,(nameSheet.getLastRow()-1),1).getValues()
var names_transpose=[0]
for (var i = 0; i<names.length; i++){
names_transpose.push(names[i][0])
}
Logger.log(names_transpose)
Logger.log(names)
//Now get last row in update tab
for (var NameAmount=0; NameAmount<(UpdateSheet.getLastRow()-1)/names.length; NameAmount++){
UpdateSheet.getRange(2+names.length*NameAmount,2,nameSheet.getLastRow()-1,2).setValues([names_transpose])
//Devisor=length of LDAP array
//Lead amount %
}
}
这是我的电子表格的链接:
https://docs.google.com/spreadsheet/ccc?key=0AmGydysjK0-rdHZkSGk3UFkydzVBcEJIY2hjU01kU1E#gid=0
我正在尝试将放置在“新名称”选项卡中的名称迭代到“更新”选项卡的第二列,直到出现空行的第一个实例。但是,我在 setValues 命令以及如何(按组?一次一个?)将这些新名称放入另一张表的逻辑方面遇到了问题。
这是我在按原样运行时遇到的错误:“范围高度不正确,为 1 但应为 8(第 21 行,文件“代码”)”
当我将第 21 行更改为:
UpdateSheet.getRange(2+names.length*NameAmount,2,nameSheet.getLastRow()-1,2).setValues(names)
我收到错误:“范围宽度不正确,为 1 但应为 2(第 21 行,文件“代码”)”
我认为这是由于我的“名称”列表的数组形式,当我在列表样式列而不是行中需要它时。有什么想法吗?
【问题讨论】:
-
注意:此代码是 [google-apps-script]
标签: javascript google-apps-script google-sheets