触发onEdit()来更新Google Sheets中的相同单元格值



当我向单元格添加值时,它应该(就地)转换为格式化的值(在我的情况下是超链接)。这不应该触发另一个onEdit()。

所以说我输入"foo",文本自动变为http://bar.com/zee/foo

我们如何使用onEdit做到这一点?有没有更好的方法来达到同样的结果?

修改单元格内容的脚本不会触发"编辑"事件。因此,您可以实现您的目标,而无需担心创建无限循环:使用此单元格中的新值修改活动单元格。

function onEdit(e) {
  if (e.value.oldValue === undefined) {
    e.range.setValue('http://example.com/' + e.value);
  }
}

之所以使用条件语句,是为了避免在编辑相当于清除单元格时将内容放入单元格中。这样的编辑检测如下:当删除单元格内容时,e.value变成一个对象,其中属性oldValue表示单元格中的旧值。

相关内容

最新更新