添加注释时不会触发带有电子表格的onEdit()

时间:2016-01-06 17:24:06

标签: javascript google-apps-script google-sheets google-docs

我对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ł");
        }
      }
    }
  }

1 个答案:

答案 0 :(得分:1)

先前的答案中提供了list of things-that-don't-trigger-onEdit及其问题跟踪ID。

添加备注不会&#34;编辑&#34;单元格的内容,因此不会触发onEdit()。同样适用于onChange();注释不会改变单元格的内容。

  

我还希望在将字体样式更改为斜体,粗体或正常时运行它。

格式化更改不会编辑或更改内容;它们也不会触发事件。