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 encuentra el enfoque actual del 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()RangeMuestra el rango seleccionado en la hoja activa o null si no hay un rango activo.
getActiveRangeList()RangeListMuestra la lista de rangos activos en la hoja activa o null si no hay rangos activos.
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)RangeSi comienzas desde current cell y active range y te mueves en la dirección indicada, se muestra un rango ajustado en el que se desplazó el borde adecuado del rango para cubrir next data cell y, al mismo tiempo, cubrir la celda actual.

Documentación detallada

getActiveRange()

Muestra el rango seleccionado en la hoja activa o null si no hay un rango activo. Si se seleccionan varios intervalos, este método solo muestra el último intervalo seleccionado.

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

  • 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 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: 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 ámbitos:

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

getActiveSheet()

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

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

Volver

Sheet: Es la hoja activa de 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 ámbitos:

  • 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.

const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();
// Returns the current highlighted cell in the one of the active ranges.
const 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 ámbitos:

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

getNextDataRange(direction)

Si comienzas desde current cell y active range y te mueves en la dirección indicada, se muestra un rango ajustado en el que se desplazó el borde adecuado del rango para cubrir next data cell y, al mismo tiempo, cubrir la celda actual. Si el rango activo no tiene límites a lo largo del dimension de la dirección, se muestra el rango activo original. Si no hay una celda actual o un rango activo, se muestra 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 encontrar la siguiente celda del borde de la región de datos.

Volver

Range: Es 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 ámbitos:

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