我正在尝试使用带有电子表格的Google Apps脚本获取OTHER
changeType
上某些单元格的值。如果changeType
为EDIT
或FORMAT
,则可以正常工作,但{I}之后的类型OTHER
则无效(排序)。
有人能指出我正确的方向吗?
var ui = SpreadsheetApp.getUi();
function onChange(e) {
var range = SpreadsheetApp.getActiveSheet().getRange("A30:A32");
var numRows = range.getNumRows();
if (e.changeType == "OTHER") {
for (var i = 1; i <= numRows; i++) {
var currentValue = range.getCell(i,1).getValue();
ui.alert(currentValue);
}
}
}
答案 0 :(得分:2)
“更改时”没有简单的触发器(函数名onChange没有特殊含义),因此应该为此函数设置可安装的触发器。在这种情况下,它工作正常。我建议不要使用已弃用的Ui服务,也不要在循环中逐个获取值。我的版本:
function oc(e) {
var range = SpreadsheetApp.getActiveSheet().getRange("A30:A32");
if (e.changeType == "OTHER") {
var currentValues = range.getValues(); // get all values at once
var str = currentValues.map(function (row) {
return row[0]; // flatten the double array
}).join(', '); // join in comma-delimited string
Browser.msgBox(str);
}
}