Class Group

群组

访问和修改电子表格群组。组是指一组连续的行或列,可以作为一个整体展开或收起,以隐藏/显示这些行或列。 每个组在紧邻该组之前或之后的行或列(具体取决于设置)中都有一个控制切换开关,可用于展开或收起整个组。

群组的深度是指群组的嵌套位置以及包含该群组的更大型群组的数量。群组的收起状态是指在展开父群组后,该群组应保持收起状态还是展开状态。此外,在折叠或展开群组时,系统会隐藏或显示群组中的行或列,但无论群组处于折叠状态还是展开状态,都可以隐藏或显示单个行或列。

方法

方法返回类型简介
collapse()Group收起此群组。
expand()Group展开此群组。
getControlIndex()Integer返回相应组的控制切换开关索引。
getDepth()Integer返回此组的深度。
getRange()Range返回相应群组存在的时间范围。
isCollapsed()Boolean如果相应群组已收起,则返回 true
remove()void从工作表中移除相应群组,从而将 range 的群组深度减少 1。

详细文档

collapse()

收起此组。

const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
const range = sheet.getRange('2:3');
range.shiftRowGroupDepth(1);
const group = sheet.getRowGroup(2, 1);

// Collapses this group.
group.collapse();

返回

Group - 此群组,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

expand()

展开此群组。

const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
const range = sheet.getRange('2:3');
range.shiftRowGroupDepth(1);
const group = sheet.getRowGroup(2, 1);

// Expands this group.
group.expand();

返回

Group - 此群组,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getControlIndex()

返回相应组的控制切换开关索引。如果控制切换开关显示在组之前,则为范围之前的索引;否则为范围之后的索引。

const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
sheet.setRowGroupControlAfter(true);
const range = sheet.getRange('2:3');
range.shiftRowGroupDepth(1);
const group = sheet.getRowGroup(2, 1);

// Returns 4
const controlIndex = group.getControlIndex();

返回

Integer - 相应组的控制切换开关索引。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDepth()

返回此组的深度。

const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
const range = sheet.getRange('2:3');
range.shiftRowGroupDepth(1);
const group = sheet.getRowGroup(2, 1);

// Returns 1 if the group is at depth 1.
const depth = group.getDepth();

返回

Integer - 此组的深度。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRange()

返回此群组存在的时间范围。

const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
let range = sheet.getRange('2:3');
range.shiftRowGroupDepth(1);
const group = sheet.getRowGroup(1, 1);

// Returns the range 2:3 if the group is over rows 2:3
range = group.getRange();

返回

Range - 群组存在的范围。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

isCollapsed()

如果相应群组已收起,则返回 true

const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
const range = sheet.getRange('2:3');
range.shiftRowGroupDepth(1);
const group = sheet.getRowGroup(2, 1);

// Returns true if the group is collapsed.
const isCollapsed = group.isCollapsed();

返回

Boolean - true 如果相应群组处于收起状态,则返回 false;否则返回 Boolean

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

remove()

从工作表中移除相应群组,使 range 的群组深度减少 1。这可能会修改其他群组。调用此方法后,相应群组对象将无法再使用。

const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
let range = sheet.getRange('2:3');
range.shiftRowGroupDepth(1);
const group = sheet.getRowGroup(2, 1);

// Removes this group
range = group.remove();

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

另请参阅