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

s20*_*der 5 google-sheets google-apps-script

似乎他们都做同样的事情,即在活动的“打开”工作表中返回选定的范围。我在这里缺少什么?是否存在需要使用 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());
Run Code Online (Sandbox Code Playgroud)

Ala*_*lls 5

根据文档,有区别。

getActiveRange()返回类范围,但getSelection()返回类选择。不同之处在于选择可以是不相邻的范围。

因此,如果您需要获取选定的非相邻范围,那么您需要使用getSelection()A range can only be a " group in a sheet in a sheet "