Class Selection

Selección

Accede a la selección activa actual en la hoja activa. Una selección es el conjunto de celdas que el usuario destacó en la hoja, que pueden ser rangos no adyacentes. Una celda de la selección es la celda actual, en la que se centra el usuario. La celda actual se destaca con un borde más oscuro en la IU de Hojas de cálculo de 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 datos que se muestraDescripción breve
getActiveRange()Range|nullDevuelve el rango seleccionado en la hoja activa o null si no hay un rango activo.
getActiveRangeList()RangeList|nullDevuelve la lista de rangos activos en la hoja activa o null si no hay rangos activos.
getActiveSheet()SheetDevuelve la hoja activa de la hoja de cálculo.
getCurrentCell()Range|nullDevuelve la celda actual (destacada) que está seleccionada en uno de los rangos activos o null si no hay una celda actual.
getNextDataRange(direction)Range|nullComenzando desde current cell y active range, y moviéndose en la dirección indicada, devuelve un rango ajustado en el que se desplazó el borde adecuado del rango para cubrir el next data cell y, al mismo tiempo, cubrir la celda actual.

Documentación detallada

getActiveRange()

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

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

Volver

Range|null: 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()

Devuelve la lista de rangos activos en la hoja activa o null si no hay rangos activos.

Si se selecciona un solo rango, se comporta como una llamada a getActiveRange().

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

Volver

RangeList|null: 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 de la hoja de cálculo.

const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();
const 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()

Devuelve la celda actual (destacada) que está seleccionada en uno de los rangos activos o null si no hay una celda actual.

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

Volver

Range|null: 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)

Comenzando desde current cell y active range, y moviéndose en la dirección indicada, devuelve un rango ajustado en el que se desplazó el borde adecuado del rango para cubrir el next data cell y, al mismo tiempo, cubrir la celda actual. Si el rango activo no está limitado a lo largo del dimension de la dirección, se devuelve el rango activo original. Si no hay ninguna celda actual o rango activo, se devuelve null. Esto equivale a seleccionar un rango en el editor y presionar 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

NombreTipoDescripción
directionDirectionEs la dirección en la que se debe buscar la siguiente celda de borde de la región de datos.

Volver

Range|null: Es el rango ajustado que incluye la celda de datos o null si no hay ninguna 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