用于隐藏和显示行的Google电子表格触发器

时间:2015-01-07 07:13:09

标签: google-apps-script triggers google-sheets

目前,我使用onEdit,当我更改单元格或单元格区域中的值,或者删除,插入行/列时,都会调用它。

function onEdit(e) {
  Browser.msgBox('edit: ' + (e.range && e.range.getA1Notation()));
}

在通过UI隐藏或显示行时,未调用onEdit函数。

有没有办法让我的脚本收到hide / show row事件的通知?

更新:我在google-apps-script-issues中写了一个功能请求: https://code.google.com/p/google-apps-script-issues/issues/detail?id=4670

更新:根据Kriggs的回答,可以使用可安装触发器onChange

这是怎么回事。 enter image description here

但是,在e(事件)对象上,没有范围属性可以从中查看隐藏或显示的行/范围。此外,Row上不存在Krigg建议的e.source方法。

我们如何利用onChange来隐藏或显示行号?

1 个答案:

答案 0 :(得分:1)

我刚刚发现了onChange(),它处理了Sheet中结构的特定更改,并且必须在Trigger菜单中激活,然后选择一个函数。要知道你可以像onEdit(),e.source.Row();一样使用ROW。

我测试了一点,发现它与基于时间和onEdit()一样不稳定,连续3次隐藏只有1次被记录。