Class Group

群組

存取及修改試算表群組。群組是連續資料列或資料欄的間隔,可獨立展開或收合以能夠隱藏/顯示資料列或資料欄。每個群組在群組之前或之後的列或欄上都有控制項切換按鈕 (視設定而定),可以展開或收合整個群組。

群組的「深度」是指群組的巢狀位置,以及包含該群組的較大群組數量。群組的「收合狀態」是指在父項群組展開後,群組是否應保持收合或展開狀態。此外,在群組收合或展開時,群組內的資料列或資料欄會隱藏或顯示,而不受收合狀態影響,可以隱藏或設定個別資料列或資料欄。

方法

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

內容詳盡的說明文件

collapse()

收合這個群組。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getRange(2:3);
range.shiftRowGroupDepth(1);
var 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()

展開這個群組。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getRange(2:3);
range.shiftRowGroupDepth(1);
var 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()

傳回這個群組的控制切換索引。這是在群組之前顯示控制項切換按鈕之前的索引,否則就是範圍晚於範圍之後的索引。

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

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

回攻員

Integer:這個群組的控制切換索引

授權

使用這個方法的指令碼必須取得以下一或多個範圍的授權:

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

getDepth()

傳回這個群組的深度。

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

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

回攻員

Integer:這個群組的深度

授權

使用這個方法的指令碼必須取得以下一或多個範圍的授權:

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

getRange()

傳回這個群組存在的範圍。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getRange(2:3);
range.shiftRowGroupDepth(1);
var 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

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

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

回攻員

Boolean — 如果這個群組處於收合狀態,則為 true;否則會傳回 false

授權

使用這個方法的指令碼必須取得以下一或多個範圍的授權:

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

remove()

從工作表中移除這個群組,逐一減少 range 的群組深度。這可能會修改其他群組。呼叫此方法後,群組物件就會失效,無法使用。

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

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

授權

使用這個方法的指令碼必須取得以下一或多個範圍的授權:

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

另請參閱