Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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 当有人在Google工作表中更改选项卡时,我应该使用什么函数来监听?_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 当有人在Google工作表中更改选项卡时,我应该使用什么函数来监听?

Javascript 当有人在Google工作表中更改选项卡时,我应该使用什么函数来监听?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我想写一个函数,当用户点击当前选项卡(或点击另一个选项卡)时,脚本就会运行。我想使用onEdit()函数,但这只在单元格发生更改时有效。我应该使用什么功能?当前没有一个可以检测用户是否更改了选项卡的功能。。。只有在用户更改电子表格中的某些内容(例如重命名选项卡)时,才会触发onChange。可以有一些解决方法,但您能否更详细地解释一下您想要实现的目标,例如,您想要根据活动选项卡更改侧栏的内容?我有一个工作表,其中一列始终需要按升序排序(其他工作表依赖项在此基础上工作),但它也是一个工作表,人们倾

我想写一个函数,当用户点击当前选项卡(或点击另一个选项卡)时,脚本就会运行。我想使用onEdit()函数,但这只在单元格发生更改时有效。我应该使用什么功能?

当前没有一个可以检测用户是否更改了选项卡的功能。。。只有在用户更改电子表格中的某些内容(例如重命名选项卡)时,才会触发
onChange
。可以有一些解决方法,但您能否更详细地解释一下您想要实现的目标,例如,您想要根据活动选项卡更改侧栏的内容?我有一个工作表,其中一列始终需要按升序排序(其他工作表依赖项在此基础上工作),但它也是一个工作表,人们倾向于更改排序以获得不同的视图,因此我想做一些类似的事情:function onEdit(){range.sort(1);}一个解决方法是包含一个自定义菜单(或脚本链接按钮),通过对该工作表排序来执行“重置”。您还可以制作一个时间驱动触发器,每隔几分钟执行一次排序,请参阅可安装触发器参考:由于您没有活动的侧栏来检测用户的行为,因此我无法想出其他方法来实现这一点(除了Tiffany已经提到的方法)。考虑到人们经常更改该列的顺序,不可能消除对该列顺序的依赖性?您可以只为每个用户提供他们自己可以使用的数据图像。您可以制作一张新的工作表,然后从母版上打开、复制或更新该工作表(当然是受保护的)。如果没有一些代码可以使用,就很难给出示例。当有人查看关键工作表中的数据时,您如何处理“其他工作表相关性”?例如,当用户按不同的列排序时,其他工作表是否会断开?当前没有一个可以检测用户是否更改了选项卡。。。只有在用户更改电子表格中的某些内容(例如重命名选项卡)时,才会触发
onChange
。可以有一些解决方法,但您能否更详细地解释一下您想要实现的目标,例如,您想要根据活动选项卡更改侧栏的内容?我有一个工作表,其中一列始终需要按升序排序(其他工作表依赖项在此基础上工作),但它也是一个工作表,人们倾向于更改排序以获得不同的视图,因此我想做一些类似的事情:function onEdit(){range.sort(1);}一个解决方法是包含一个自定义菜单(或脚本链接按钮),通过对该工作表排序来执行“重置”。您还可以制作一个时间驱动触发器,每隔几分钟执行一次排序,请参阅可安装触发器参考:由于您没有活动的侧栏来检测用户的行为,因此我无法想出其他方法来实现这一点(除了Tiffany已经提到的方法)。考虑到人们经常更改该列的顺序,不可能消除对该列顺序的依赖性?您可以只为每个用户提供他们自己可以使用的数据图像。您可以制作一张新的工作表,然后从母版上打开、复制或更新该工作表(当然是受保护的)。如果没有一些代码可以使用,就很难给出示例。当有人查看关键工作表中的数据时,您如何处理“其他工作表相关性”?比如说,当用户按不同的列排序时,其他工作表是否会中断?