在提交表单响应编辑时删除单元格



当谷歌表单重新提交时(当谷歌提供"编辑你的回复"时),我正在尝试删除一系列单元格中的数据。

目前,我有以下代码:

// when a cell in column A (F:F) is changed, clear the corresponding cell in column C0-DD
function onEdit(e) {
  if(e.range.columnStart === 12 && e.range.getValue() != 'V01') { 
    e.range.offset(0, 81, 1, 5).clearContent();
  }
}

当我手动编辑行(通过将 F 列中的值更改为 V02)时,这非常有效。如果我尝试使用 Google 表单 URL 更改为 V02,则代码无法运行。我将触发器设置为"编辑时"-我已经尝试了"更改时"和"表单提交",但没有一个有效。我哪里出错了?

提交

Google 表单时触发函数运行的唯一方法是安装"表单提交"事件的触发器。 如果要处理两个不同的触发器,则需要两个不同的函数。

即使表单提交事件的事件对象具有与"编辑时"相同的range属性,我也不会传递事件对象。 我会得到范围,然后通过它。

因此,为表单提交创建一个新功能,并安装"表单提交"触发器。 你最终会得到 3 个函数。

function runWhenFormSubmitted(e) {//Install with Form Submit trigger
  var rng = e.range;
  clearContentWhenEdit(rng);
}  
function runWhenCellEdited(e) {//Install with On Edit trigger
  var rng = e.range;
  clearContentWhenEdit(rng);
} 
function clearContentWhenEdit(rng) {
  if(rng.columnStart === 12 && rng.getValue() != 'V01') { 
    rng.offset(0,81,1,5).clearContent();
  }
}

最新更新