访问当前工作表中当前活动的内容。所选项就是 已在工作表中突出显示,可以是不相邻的范围。所选内容中的一个单元格是 当前单元格:用户的当前焦点所在的位置。当前单元格以 较深的边框。
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