setNote Last Modified value

时间:2017-04-07 15:08:42

标签: google-apps-script google-sheets

function onEdit(e){
  // Set a comment on the edited cell to indicate when it was changed.
var range = e.range;
range.setNote('Last modified: ' + new Date()) 
}

这样可行,但我想在备注中添加另一行。我想添加修改过的单元格的最后一个值。例如,如果我将单元格值从.01更改为.02。我希望该笔记具有更改的新日期以及.01以显示在笔记中。因此,我们参考了它在变更之前的价值。我尝试将其添加为另一行......

range.setNote('Last Recorded Entry: '+ getValue())  

但我一定有错。或者需要将它与前一行结合使用?

1 个答案:

答案 0 :(得分:2)

这应该可以解决问题

function onEdit(e){
  // Set a comment on the edited cell to indicate when it was changed.
var range = e.range;
var oldValue = e.oldValue;
var noteText = 'Last modified: ' + new Date();
if (oldValue != null){
noteText += 'Last Recorded Entry: ' + oldValue;
}
range.setNote(noteText); 
}

基本上,使用

获取已编辑单元格的旧值
var oldValues = e.oldValues 

注意:仅在一次修改一个单元格时才有效。 然后检查它是否为null =>如果没有找到先前的值,则不要将其添加到注释

if (oldValue != null){
noteText += 'Last Recorded Entry: ' + oldValue;
}

希望有所帮助