Class Selection

Selección

Acceder a la selección activa actual en la hoja activa. Una selección es el conjunto de celdas que el usuario destacados en la hoja, que pueden ser rangos no adyacentes. Una celda de la selección es celda actual, donde está el foco actual del usuario. La celda actual se destaca con una borde más oscuro en la IU de Hojas de cálculo de 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 datos que se muestraDescripción breve
getActiveRange()RangeMuestra el rango seleccionado en la hoja activa o null si no hay ningún rango activo.
getActiveRangeList()RangeListMuestra la lista de rangos activos en la hoja activa o null si no hay ningún rango activo o rangos.
getActiveSheet()SheetDevuelve la hoja activa en la hoja de cálculo.
getCurrentCell()RangeMuestra la celda actual (destacada) que se seleccionó en uno de los rangos activos o null si no hay una celda actual.
getNextDataRange(direction)RangeA partir de la current cell y la active range y se mueve en la dirección dada, devuelve un rango ajustado donde el borde apropiado de la se cambió para abarcar next data cell sin dejar de que cubre la celda actual.

Documentación detallada

getActiveRange()

Muestra el rango seleccionado en la hoja activa o null si no hay ningún rango activo. Si cuando se seleccionan varios rangos, este método devuelve solo el último rango seleccionado.

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

Volver

Range: Es el rango activo.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

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

getActiveRangeList()

Muestra la lista de rangos activos en la hoja activa o null si no hay ningún rango activo o rangos.

Si hay un solo rango seleccionado, se comporta como una llamada getActiveRange().

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

Volver

RangeList: Es la lista de rangos activos.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

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

getActiveSheet()

Devuelve la hoja activa en la hoja de cálculo.

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

Volver

Sheet: Es la hoja activa en la hoja de cálculo.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

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

getCurrentCell()

Muestra la celda actual (destacada) que se seleccionó en uno de los rangos activos o null si no hay una celda actual.

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

Volver

Range: Es la celda actual.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

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

getNextDataRange(direction)

A partir de la current cell y la active range y se mueve en la dirección dada, devuelve un rango ajustado donde el borde apropiado de la se cambió para abarcar next data cell sin dejar de que cubre la celda actual. Si el rango activo no está delimitado a lo largo del dimension de la dirección, se devuelve el rango activo original. Si actualmente no hay una celda o rango activo, se muestra null. Esto equivale a seleccionar un rango en el editor y presionando 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

NombreTipoDescripción
directionDirectionLa dirección en la que se encuentra la siguiente celda perimetral de la región de datos.

Volver

Range: el rango ajustado que incluye la celda de datos, o null si no hay selección.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

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