Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数会在每次打开工作表时重新计算,我只希望它在编辑时重新计算_Javascript_Function_Google Apps Script_Google Sheets_Timestamp - Fatal编程技术网

Javascript 函数会在每次打开工作表时重新计算,我只希望它在编辑时重新计算

Javascript 函数会在每次打开工作表时重新计算,我只希望它在编辑时重新计算,javascript,function,google-apps-script,google-sheets,timestamp,Javascript,Function,Google Apps Script,Google Sheets,Timestamp,每次打开工作表时,该函数都会重新计算。我只希望它在编辑时重新计算。 我曾试图搞乱“onEdit”,但我无法让它发挥作用。我也尝试过“当前项目触发器”,但似乎无法解决问题。很抱歉,由于问题简单,我根本找不到或弄不出答案。 谷歌表单脚本 它看起来(根据您对问题的评论)像是您创建了一个自定义公式并将其放入单元格中。如果是这种情况(意味着您在单元格中实际有=timestamp()),那么它将始终在打开和编辑时重新计算 这就是公式(标准公式和自定义公式)的工作原理。当电子表格中的公式开始过多,并且速度开始

每次打开工作表时,该函数都会重新计算。我只希望它在编辑时重新计算。 我曾试图搞乱“onEdit”,但我无法让它发挥作用。我也尝试过“当前项目触发器”,但似乎无法解决问题。很抱歉,由于问题简单,我根本找不到或弄不出答案。 谷歌表单脚本

它看起来(根据您对问题的评论)像是您创建了一个自定义公式并将其放入单元格中。如果是这种情况(意味着您在单元格中实际有=timestamp()),那么它将始终在打开和编辑时重新计算

这就是公式(标准公式和自定义公式)的工作原理。当电子表格中的公式开始过多,并且速度开始减慢,甚至无法正确加载时,您会注意到这一点

如果您想要只在编辑时更新的内容,那么您必须编写一个函数来实现这一点,然后设置一个触发器,在编辑时调用它

例如,此函数将当前日期放在当前电子表格第一页的单元格A1中:

function timestamp() {
return new Date()
}
这种函数只有在您调用它时才会运行,因此您可以将触发器设置为您想要的任何值。显然,您必须弄清楚如何选择要显示日期的单元格。

它看起来(基于您对问题的评论),就像您创建了自定义公式并将其放入单元格一样。如果是这种情况(意味着您在单元格中实际有=timestamp()),那么它将始终在打开和编辑时重新计算

这就是公式(标准公式和自定义公式)的工作原理。当电子表格中的公式开始过多,并且速度开始减慢,甚至无法正确加载时,您会注意到这一点

如果您想要只在编辑时更新的内容,那么您必须编写一个函数来实现这一点,然后设置一个触发器,在编辑时调用它

例如,此函数将当前日期放在当前电子表格第一页的单元格A1中:

function timestamp() {
return new Date()
}

这种函数只有在您调用它时才会运行,因此您可以将触发器设置为您想要的任何值。显然,您必须弄清楚如何选择要显示日期的单元格。

这是一个用Google Apps脚本编写的自定义函数。此函数通过在电子表格单元格中输入=timestamp()来使用,对吗?为了将其更改为OneEdit,您必须在要编辑的工作表、范围、日期应写入的位置等中编写代码。现在将其用作函数非常有效。我只希望它只在某些东西改变时更新。我可以使用onEdit,但我在多个列中使用时间戳,并且每个范围的脚本长度将变得非常长。当前是什么导致
timestamp()
函数运行?一个
onOpen()
函数?为什么打开电子表格时会触发它?像这样的自定义函数永远不会工作,因为它只会被删除一次,结果会被谷歌缓存。文件中对此进行了解释。自定义函数只能基于传递的参数进行计算。请参见此处和其他类似的s.o.问题:相反,制作一个菜单,对选定的单元格执行此操作。这是一个用谷歌应用程序脚本编写的自定义函数。此函数通过在电子表格单元格中输入=timestamp()来使用,对吗?为了将其更改为OneEdit,您必须在要编辑的工作表、范围、日期应写入的位置等中编写代码。现在将其用作函数非常有效。我只希望它只在某些东西改变时更新。我可以使用onEdit,但我在多个列中使用时间戳,并且每个范围的脚本长度将变得非常长。当前是什么导致
timestamp()
函数运行?一个
onOpen()
函数?为什么打开电子表格时会触发它?像这样的自定义函数永远不会工作,因为它只会被删除一次,结果会被谷歌缓存。文件中对此进行了解释。自定义函数只能基于传递的参数进行计算。请参见此处和其他类似的s.o.问题:而是制作一个菜单,对所选对象执行此操作cell@ZigMandel,我不太明白。我创建了这个电子表格(),它似乎正在工作。“你能看一下吗?”村民,我现在的处境可能会很糟糕。我将分享这个问题的一个例子链接。@ZigMandel,我不确定我是否理解。我创建了这个电子表格(),它似乎正在工作。“你能看一下吗?”村民,我现在的处境可能会很糟糕。我将分享这个问题的一个示例链接。