function timestamp() {
return new Date()
}
每次我打开工作表时,该函数都会重新计算。我只希望它在编辑时重新计算。 我试图搞乱“onEdit”,但我永远无法让它工作。我也尝试过“当前项目触发器”,但这似乎并不能解决问题。我很抱歉,由于问题很简单,我根本找不到或弄清楚答案。 谷歌表格脚本 https://docs.google.com/spreadsheets/d/1-Ix9LUmMYNqWnz0mB2PAg9ocJ-TwszqHRbqxAchcxhc/edit#gid=0
最佳答案
看起来(根据您对问题的评论),就像您创建了一个自定义公式并将其放入单元格中一样。如果是这种情况(意味着单元格中实际上有 =timestamp() ),那么它将始终在打开和编辑时重新计算。
这就是公式(标准公式和自定义公式)的工作原理。当电子表格中的公式过多并且速度开始变慢,甚至无法正确加载时,您会注意到这一点。
如果您想要仅在编辑时更新的内容,则必须编写一个完全执行此操作的函数,然后设置一个在编辑时调用它的触发器。
例如,此函数会将当前日期放入当前电子表格第一张工作表的单元格 A1 中:
function setTimestamp()
{
var thisSS = SpreadsheetApp.getActiveSpreadsheet();
var firstSheet = thisSS.getSheets()[0];
var firstCell = firstSheet.getRange(1, 1);
firstCell.setValue(new Date());
}
这种函数只有在您调用它时才会运行,因此您可以将触发器设置为您想要的任何值。显然,您必须弄清楚如何选择要显示日期的单元格。
关于javascript - 每次我打开工作表时函数都会重新计算,我只希望它在编辑时重新计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32797710/