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

授权

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

  • 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

另请参阅