Class Selection

Seleção

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

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

Métodos

MétodoTipo de retornoBreve descrição
getActiveRange()RangeRetorna o intervalo selecionado na página ativa ou null se não houver um intervalo ativo.
getActiveRangeList()RangeListRetorna a lista de intervalos ativos na página 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 célula atual.
getNextDataRange(direction)RangeA partir de current cell e active range e movendo na direção indicada, retorna um intervalo ajustado em que a borda adequada do intervalo foi deslocada para cobrir o next data cell enquanto ainda cobre a célula atual.

Documentação detalhada

getActiveRange()

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

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

Retorno

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 página ativa ou null se não houver intervalos ativos.

Se houver um único intervalo selecionado, a chamada vai ser getActiveRange().

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

Retorno

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.

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

Retorno

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 célula atual.

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

Retorno

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)

A partir de current cell e active range e movendo na direção indicada, retorna um intervalo ajustado em que a borda adequada do intervalo foi deslocada para cobrir o next data cell enquanto ainda cobre a célula atual. Se o intervalo ativo for ilimitado ao longo da dimension da direção, o intervalo ativo original vai ser retornado. Se não houver célula atual 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.
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());

Parâmetros

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

Retorno

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