我正在为 Google Sheets 脚本编写一个函数,该函数接受单元格引用并输出该单元格上次修改的日期。我不知道如何开始。
问问题
82 次
1 回答
1
没有直接的方法可以获取单元格编辑的确切日期。
方法一
根据文档检索modifiedTime
使用将返回的 Drive API :Files:get
任何人最后一次修改文件的时间(RFC 3339 日期时间)。
方法二
相反,您可以做的是利用onEdit(e)
触发器并监视特定单元格的每个更改。
因此,例如,考虑到您要检查的单元格是A1
,您可以使用以下代码段:
片段
function onEdit(e) {
if (e.range.getRow() == 1 && e.range.getColumn() == 1) {
var date = new Date();
console.log(date);
}
}
解释
上述函数是一个onEdit
触发器,每次在工作表上进行编辑时都会触发。由于您想为特定单元格检查此内容,因此已使用事件对象e
来获取已编辑单元格的row
和。column
因此,if
这种情况下的条件检查是否row
等于1
和列是否等于1
(对应于A1
单元格的范围),并基于此,返回在这种情况下与已进行的编辑相对应的当前日期。
要跟踪单元格的所有编辑,您可以将date
编辑产生的变量存储到数组中,并最终根据自己的喜好使用它。
笔记
考虑到这些,您将无法获得在触发器到位之前已编辑的单元格的时间。
参考
于 2020-07-01T07:50:49.163 回答