Class Selection

Seleção

Acessar a seleção ativa na página ativa. Uma seleção é o conjunto de células que o usuário destacou na página, que pode ser intervalos não adjacentes. Uma célula na seleção é a célula atual, onde o foco do usuário está. A célula atual é destacada com uma borda mais escura na interface das Planilhas Google.

const activeSheet = SpreadsheetApp.getActiveSheet();
const rangeList = activeSheet.getRangeList(['A1:B4', 'D1:E4']);
rangeList.activate();

const 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
const ranges = selection.getActiveRangeList().getRanges();
for (let i = 0; i < ranges.length; i++) {
  console.log(`Active Ranges: ${ranges[i].getA1Notation()}`);
}
console.log(`Active Sheet: ${selection.getActiveSheet().getName()}`);

Métodos

MétodoTipo de retornoBreve descrição
getActiveRange()RangeRetorna o intervalo selecionado na planilha ativa ou null se não houver um intervalo ativo.
getActiveRangeList()RangeListRetorna a lista de intervalos ativos na planilha ativa ou null se não houver intervalos ativos.
getActiveSheet()SheetRetorna a página ativa na planilha.
getCurrentCell()RangeRetorna a célula atual (destacada) selecionada em um dos intervalos ativos ou null se não houver uma célula atual.
getNextDataRange(direction)RangeComeçando pelo current cell e active range e se movendo na direção indicada, retorna um intervalo ajustado em que a borda adequada do intervalo foi deslocada para cobrir o next data cell, mas ainda cobrindo a célula atual.

Documentação detalhada

getActiveRange()

Retorna o intervalo selecionado na planilha ativa ou null se não houver um intervalo ativo. Se vários intervalos forem selecionados, esse método vai retornar apenas o último intervalo selecionado.

const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();
const activeRange = selection.getActiveRange();

Retornar

Range: o intervalo ativo.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getActiveRangeList()

Retorna a lista de intervalos ativos na planilha ativa ou null se não houver intervalos ativos.

Se um único intervalo for selecionado, ele vai se comportar como uma chamada getActiveRange().

const sheet = SpreadsheetApp.getActiveSheet();
// Returns the list of active ranges.
const activeRangeList = sheet.getActiveRangeList();

Retornar

RangeList: a lista de intervalos ativos.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getActiveSheet()

Retorna a página ativa na planilha.

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

Retornar

Sheet: a página ativa na planilha.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getCurrentCell()

Retorna a célula atual (destacada) selecionada em um dos intervalos ativos ou null se não houver uma célula atual.

const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();
// Returns the current highlighted cell in the one of the active ranges.
const currentCell = selection.getCurrentCell();

Retornar

Range: a célula atual.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getNextDataRange(direction)

Começando pelo current cell e active range e se movendo na direção indicada, retorna um intervalo ajustado em que a borda adequada do intervalo foi deslocada para cobrir o next data cell, mas ainda cobrindo a célula atual. Se o intervalo ativo não tiver limites ao longo do dimension da direção, o intervalo ativo original será retornado. Se não houver uma célula ou intervalo ativo, null será retornado. Isso equivale a selecionar um intervalo no editor e pressionar Ctrl+Shift+[arrow key].

// Assume the active spreadsheet is blank.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const 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(),
);

Parâmetros

NomeTipoDescrição
directionDirectionA direção em que a próxima célula de borda da região de dados vai ser encontrada.

Retornar

Range: o intervalo ajustado que inclui a célula de dados ou null se não houver seleção.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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