Class Selection

選取

在已開啟的工作表中,存取目前使用中的所選項目。選項是使用者的一組儲存格 ,這可以是不相鄰的範圍。選取範圍中的一個儲存格 使用者目前的焦點所在的目前儲存格。目前的儲存格會醒目顯示 Google 試算表 UI 中較深的框線。

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 cellactive 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()

傳回試算表中正在使用的工作表。

var selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();
var activeSheet = selection.getActiveSheet();

回攻員

Sheet:試算表中正在使用的工作表。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

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

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 cellactive 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());

參數

名稱類型說明
directionDirection尋找下一個資料地區邊緣儲存格的方向。

回攻員

Range:調整範圍,包含資料儲存格;如果沒有,則傳回 null

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

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