getActiveRange()和getSelection()有什么区别?

时间:2018-07-03 20:01:17

标签: 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());

1 个答案:

答案 0 :(得分:3)

根据文档,有所不同。

getActiveRange()返回“类别范围”,但是getSelection()返回“类别选择”。区别在于选择内容可以是不相邻的范围。

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