Google apps script 如何通过谷歌应用程序脚本在谷歌工作表上编辑多行时获得真实范围
我正在使用一段谷歌脚本从一个谷歌工作表复制到另一个谷歌工作表,还做了一些列和数据操作(所以它不仅仅是一个直接的副本) 该代码受以下问题启发: 不幸的是,当您通过高亮显示多个单元格并按空格键一次选中多个复选框时,OneEditGoogle apps script 如何通过谷歌应用程序脚本在谷歌工作表上编辑多行时获得真实范围,google-apps-script,google-sheets,triggers,Google Apps Script,Google Sheets,Triggers,我正在使用一段谷歌脚本从一个谷歌工作表复制到另一个谷歌工作表,还做了一些列和数据操作(所以它不仅仅是一个直接的副本) 该代码受以下问题启发: 不幸的是,当您通过高亮显示多个单元格并按空格键一次选中多个复选框时,OneEdit事件对象似乎只会检测到第一个单元格正在编辑,而其他单元格则没有被编辑 我通过以下方式对此进行了测试: Browser.msgBox(event.range.getNumRows()) 无论我一次编辑了多少个复选框;它总是返回1 是否有一种正确的方法可以一次性获得编辑过的单元格
事件
对象似乎只会检测到第一个单元格正在编辑,而其他单元格则没有被编辑
我通过以下方式对此进行了测试:
Browser.msgBox(event.range.getNumRows())
无论我一次编辑了多少个复选框;它总是返回1
是否有一种正确的方法可以一次性获得编辑过的单元格的真实范围
谢谢。这似乎是一个bug!
我看了一下Google的问题跟踪程序,发现在删除带有复选框的多个单元格时也会出现这种情况——只有第一个单元格的范围会传递给e.range
。下面是一份报告,详细描述了同样的行为:
我希望这对你有帮助 看起来这是一个特定于复选框和空格键的bug。我建议向应用程序脚本团队提交一个bug,我不知道更糟的是什么,验证是否不疯狂,或者现在知道修复这个bug的痛苦等待时间。我在合并单元格时遇到了同样的问题,并验证了这也是字体的问题。我想我必须找到一个解决办法,因为已经一年多没有什么活动了:(
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.range;
...
}