小编Dan*_*l B的帖子

如果单元格内容是从工作表中的另一个单元格粘贴的,如何获得“e.oldValue”

很多人问过如何获得 e.oldValue 和 e.value。但是,如果内容被工作表上另一个单元格中的内容“粘贴”覆盖,我如何获得单元格的旧值?这是我所知道的:

让我们以单元格 A1 的内容为“foo”和单元格 A2 的内容为“bar”。

如果 A1 被某人输入“bar”覆盖(包括从外部来源粘贴):e.value = "bar" 和 e.oldValue = "foo"。
如果 A1 被清除,e.value = {"oldValue":"foo"}, e.oldValue = "foo"。
如果 A1 被某人复制 A2 并将其粘贴到 A1 中:e.value = {} 和 e.oldValue = {}。所以我们必须使用 e.range.getValue() 来获取“bar”的“新值”。但是,我如何获得“oldValue”?

是的,我知道我可以从单元格 A2 中获取它,但是我怎么知道单元格 A1 中被覆盖的内容?这就是我想知道的。

现在我获取我想知道的两个值的代码是:

var newValue = (typeof e.value == "object" ? e.range.getValue() : e.value); 
var oldVlaue = e.oldValue;
Run Code Online (Sandbox Code Playgroud)

triggers google-sheets google-apps-script

5
推荐指数
1
解决办法
4475
查看次数