我对Google Apps脚本中的事件触发器功能有一点问题。当我在特定单元格中编写注释时,我尝试运行我的函数(在电子表格的谷歌应用程序脚本中)。我尝试了onEdit()
和onChange()
个活动,但都没有效果。
在向单元格添加注释时是否有办法触发这些功能?
我还希望在将字体样式更改为斜体,粗体或正常时运行它。
function onEdit(e) {
var background = false;
var range = e.range;
var cell = range.getCell(1, 1);
var output = cell.getNote();
if(cell.getFontWeight() === 'bold') {
cell.setBackground("#D6F4D9");
background = true;
} else if(cell.getFontWeight() === "normal") {
cell.setBackground("#E4E8F3");
}
if(cell.getFontStyle() === "italic" && !background) {
cell.setBackground("#FCE5CD");
}
if(output != undefined && output != "") {
var numbers = output.split("\n");
var result = 0;
for(var k = 0, leng = numbers.length; k<leng; k++) {
var num = numbers[k];
num = num.split(" ");
if(!isNaN(parseInt(num[0]))) {
result += parseInt(num[0]);
}
if(k >= numbers.length-1) {
if(!isNaN(result)) {
cell.setValue(result+"zł");
}
}
}
}
答案 0 :(得分:1)
先前的答案中提供了list of things-that-don't-trigger-onEdit及其问题跟踪ID。
添加备注不会&#34;编辑&#34;单元格的内容,因此不会触发onEdit()
。同样适用于onChange()
;注释不会改变单元格的内容。
我还希望在将字体样式更改为斜体,粗体或正常时运行它。
格式化更改不会编辑或更改内容;它们也不会触发事件。