当我向单元格添加值时,它应该(就地)转换为格式化的值(在我的情况下是超链接)。这不应该触发另一个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
表示单元格中的旧值。