Class Group

群組

存取及修改試算表群組。群組是相鄰列或欄間的關聯,可做為單一單位展開或收合,用於隱藏/顯示列或欄。每個群組在列或欄的群組前後都有控制切換鈕 (視設定而定),可用來展開或摺疊整個群組。

群組的深度是指群組的巢狀位置,以及包含該群組的大型群組數量。群組的收合狀態是指在展開父群組後,群組應維持收合狀態還是展開狀態。此外,當群組摺疊或展開時,群組內的資料列或資料欄會隱藏或設為可見,但個別資料列或資料欄可隱藏或設為可見,不受摺疊狀態影響。

方法

方法傳回類型簡短說明
collapse()Group收合這個群組。
expand()Group展開這個群組。
getControlIndex()Integer傳回這個群組的控制切換索引。
getDepth()Integer傳回這個群組的深度。
getRange()Range傳回這個群組的範圍。
isCollapsed()Boolean如果這個群組已收合,則會傳回 true
remove()void從工作表中移除這個群組,將 range 的群組深度減少一個。

內容詳盡的說明文件

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 的群組深度減少一個。這可能會修改其他群組。呼叫此方法後,群組物件就會變成無效。

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

另請參閱