访问当前工作表中的当前所选内容。所选项是用户在工作表中突出显示的一组单元格,可以是不相邻的范围。所选项中的一个单元格是当前单元格,即用户的当前焦点。当前单元格在 Google 表格界面中使用较暗的边框突出显示。
var activeSheet = SpreadsheetApp.getActiveSheet(); var rangeList = activeSheet.getRangeList(['A1:B4', 'D1:E4']); rangeList.activate(); var selection = activeSheet.getSelection(); // Current Cell: D1 console.log('Current Cell: ' + selection.getCurrentCell().getA1Notation()); // Active Range: D1:E4 console.log('Active Range: ' + selection.getActiveRange().getA1Notation()); // Active Ranges: A1:B4, D1:E4 var ranges = selection.getActiveRangeList().getRanges(); for (var i = 0; i < ranges.length; i++) { console.log('Active Ranges: ' + ranges[i].getA1Notation()); } console.log('Active Sheet: ' + selection.getActiveSheet().getName());
方法
方法 | 返回类型 | 简介 |
---|---|---|
getActiveRange() | Range | 返回当前工作表中的所选范围,如果没有有效范围,则返回 null 。 |
getActiveRangeList() | RangeList | 返回活动工作表中的活动范围列表,如果没有有效范围,则返回 null 。 |
getActiveSheet() | Sheet | 返回电子表格中的活动工作表。 |
getCurrentCell() | Range | 返回在某个活动范围内选择的当前(突出显示)单元格,如果当前没有单元格,则返回 null 。 |
getNextDataRange(direction) | Range | 从 current cell 和 active range 开始并向指定方向移动,系统会返回调整后的范围,其中范围的相应边缘已偏移,以覆盖 next data cell ,同时仍覆盖当前单元格。 |
详细文档
getActiveRange()
返回当前工作表中的所选范围,如果没有有效范围,则返回 null
。如果选择了多个范围,则此方法仅返回最后选择的范围。
var selection = SpreadsheetApp.getActiveSpreadsheet().getSelection(); var activeRange = selection.getActiveRange();
弃踢回攻
Range
- 有效范围。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getActiveRangeList()
返回活动工作表中的活动范围列表,如果没有有效范围,则返回 null
。
如果选择一个范围,则此行为将像 getActiveRange()
调用一样。
var sheet = SpreadsheetApp.getActiveSheet(); // Returns the list of active ranges. var activeRangeList = sheet.getActiveRangeList();
弃踢回攻
RangeList
- 有效范围的列表。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getActiveSheet()
getCurrentCell()
返回在某个有效范围内选择的当前(突出显示)单元格;如果当前没有单元格,则返回 null
。
var selection = SpreadsheetApp.getActiveSpreadsheet().getSelection(); // Returns the current highlighted cell in the one of the active ranges. var currentCell = selection.getCurrentCell();
弃踢回攻
Range
- 当前单元格。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getNextDataRange(direction)
从 current cell
和 active range
开始并向指定方向移动,系统会返回调整后的范围,其中范围的相应边缘已偏移,以覆盖 next data cell
,同时仍覆盖当前单元格。如果有效范围沿方向的 dimension
无界限,则返回原始的有效范围。如果没有当前单元格或活动范围,则返回 null
。这相当于在编辑器中选择范围并按 Ctrl+Shift+[arrow key]
。
// Assume the active spreadsheet is blank. var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; // Makes C3 the current cell and C3:E5 the active range. sheet.getRange('C3:E5').activate(); // Logs 'C1:E3' console.log(SpreadsheetApp.getSelection() .getNextDataRange(SpreadsheetApp.Direction.UP) .getA1Notation());
参数
名称 | 类型 | 说明 |
---|---|---|
direction | Direction | 查找下一个数据区域边缘单元的方向。 |
弃踢回攻
Range
- 包含数据单元格的调整范围,如果未选择,则为 null
。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets