google-apps-script - getActiveRange() 和 getSelection() 有什么区别?

标签 google-apps-script google-sheets

似乎他们都做同样的事情,即在事件的“打开”工作表中返回选定的范围。我在这里缺少什么?是否存在需要使用 getSelection() 的情况?

var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getActiveRange();    
var selection = sheet.getSelection();

// These return the same values
Logger.log("Range Values: %s", range.getValues());
Logger.log("Selection Values: %s", selection.getActiveRange().getValues());

// These also return the same values
Logger.log("Sheet Current Cell: %s", sheet.getCurrentCell().getValue());
Logger.log("Selection Current Cell: %s", selection.getCurrentCell().getValue());

最佳答案

根据文档,有区别。
getActiveRange()返回类范围,但 getSelection()返回类选择。不同之处在于选择可以是不相邻的范围。

因此,如果您需要获得选定的非相邻范围,则需要使用 getSelection()范围只能是“工作表中的一组相邻单元格”

关于google-apps-script - getActiveRange() 和 getSelection() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51162081/

相关文章:

button - 如何使用应用程序脚本创建按钮并向其分配脚本?

javascript - Google Sheets 脚本查找具有值的单元格

javascript - 如何使用 YouTube API 将视频观看次数获取到 Google 电子表格中?

google-apps-script - 如何使用 Google Apps 脚本在电子表格的单元格中剪辑文本?

validation - 使用 Google Apps 脚本创建下拉菜单。更改颜色的方法是否缺失或不可用?

dynamic - Google Apps 脚本 - 谷歌表单 "go to section based on answer"

google-apps-script - 在自定义域上发布 Google 脚本

javascript - 谷歌应用程序脚本 : "range.isBlank()" is false but "if(range.isBlank())" go through?

javascript - 如何从一张工作表中获取 Google 电子表格中的数据行,并预填充另一张工作表

javascript - 如何使用 Google 脚本将特定列从 google 工作表提取到 google 文档?