我已经根据stackoverflow上的搜索创建了一个脚本,并提出了以下内容:
function collectData(){
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheets = ss.getSheets();
var target = ss.getSheetByName("Export");
for ( i = 0; i < sheets.length; i++){
var names = sheets[i].getRange("B1").getValue();
Logger.log(names);
}
}
这按预期工作,但我尝试在另一张表中列出这些值。我尝试了copyTo和setValues并推送以将值列表发送到特定工作表,但始终会出错。
要在电子表格的某个范围内设置值,您需要将它们排列为双精度数组。行是[[x, y, z]]
,列是[[x], [y], [z]]
。由于您需要一列,因此逻辑将是
var names = [];
for (var i = 0; i < sheets.length; i++){
names.push([sheets[i].getRange("B1").getValue()]);
}
target.getRange(1, 1, names.length, 1).setValues(names);
参考:getRange。
相反,要移动一行,一些方括号会四处移动:
var names = [];
for (var i = 0; i < sheets.length; i++){
names.push(sheets[i].getRange("B1").getValue());
}
target.getRange(1, 1, 1, names.length).setValues([names]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句