¿Cómo establecer el valor de una celda en Hojas de cálculo de Google mediante el Script de aplicaciones?

134

Quiero establecer texto o número en Google Sheet desde el script.

Quiero establecer Helloo número 9en la celda F2. Encontré este código hasta ahora:

SpreadsheetApp.getActiveRange().setValue('hello');

pero eso no especifica qué celda.

Antenas
fuente
44
¿puedo sugerirle que lea los conceptos básicos de appscript probando los tutoriales?
Serge insas

Respuestas:

214

El siguiente código hace lo que se requiere

function doTest() {
  SpreadsheetApp.getActiveSheet().getRange('F2').setValue('Hello');
}
megabyte1024
fuente
2
¿Cómo obtener rango con números? ¿Cuáles son las coordenadas de la celda c2?
JuanPablo
55
C2 es la segunda columna de la segunda fila, así que >> getRange (2,3) >> getRange (row, col)
Serge insas
Hola ¿Sabes ahora cómo obtener la fila y el número de columna de la celda actual? ¿Cómo puedo establecer el valor en la celda actual?
Charles Chow
@CharlesChow, lo siento, pero ya no estoy involucrado en el desarrollo de GAS. Consulte este y estos elementos de ayuda. Creo que podrían ayudar.
megabyte1024
1
@CharlesChow Puede usar SpreadsheetApp.getActiveSheet (). GetActiveCell (). GetRow () y SpreadsheetApp.getActiveSheet (). GetActiveCell (). GetColumn ()
Augustine C
42

Use el setValuemétodo de Rangeclase para establecer el valor de una celda en particular.

function storeValue() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  // ss is now the spreadsheet the script is associated with
  var sheet = ss.getSheets()[0]; // sheets are counted starting from 0
  // sheet is the first worksheet in the spreadsheet
  var cell = sheet.getRange("B2"); 
  cell.setValue(100);
}

También puede seleccionar una celda usando números de fila y columna.

var cell = sheet.getRange(2, 3); // here cell is C2

También es posible establecer el valor de varias celdas a la vez.

var values = [
  ["2.000", "1,000,000", "$2.99"]
];

var range = sheet.getRange("B2:D2");
range.setValues(values);
sudo bangbang
fuente
16

Solución: SpreadsheetApp.getActiveSheet().getRange('F2').setValue('hello')

Explicacion:

Establecer el valor en una celda en la hoja de cálculo a la que se adjunta el script

SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME).getRange(RANGE).setValue(VALUE);

Establecer el valor en una celda en la hoja que está abierta actualmente y a la que se adjunta el script

SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(RANGE).setValue(VALUE);

Establecer el valor en una celda en alguna hoja de cálculo a la que NO se adjunta el script (se conoce el nombre de la hoja de destino)

SpreadsheetApp.openById(SHEET_ID).getSheetByName(SHEET_NAME).getRange(RANGE).setValue(VALUE);

Establecer el valor en una celda en alguna hoja de cálculo a la que NO se adjunta el script (se conoce la posición de la hoja de destino)

SpreadsheetApp.openById(SHEET_ID).getSheets()[POSITION].getRange(RANGE).setValue(VALUE);

Estas son constantes, debes definirlas tú mismo

SHEET_ID

SHEET_NAME

POSITION

VALUE

RANGE

Por guión adjunto a una hoja quiero decir que ese guión reside en el editor de guiones de esa hoja. No adjunto significa que no reside en el editor de scripts de esa hoja. Puede estar en cualquier otro lugar.

Umair Mohammad
fuente