Como definir o valor de uma célula no Planilhas Google usando o Script do Google Apps?

134

Quero definir texto ou número na planilha do Google a partir do script.

Eu quero definir Helloou número 9na célula F2. Encontrei este código até agora:

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

mas isso não especifica qual célula.

Antenas
fonte
4
posso sugerir que você leia o básico do appscript tentando os tutoriais?
Serge insas

Respostas:

214

O código a seguir faz o que é necessário

function doTest() {
  SpreadsheetApp.getActiveSheet().getRange('F2').setValue('Hello');
}
megabyte1024
fonte
2
como getRange com números? quais são as coordenadas da célula c2?
juanpablo
5
C2 é fileira terceira coluna segundo modo >> GetRange (2,3) >> GetRange (linha, coluna)
Serge INSAS
Oi Você agora como obter o número de linha e coluna da célula atual? Como posso definir o valor para a célula atual?
Charles Chow
@ CharlesChow, desculpe, mas não estou mais envolvido no desenvolvimento de GAS. Por favor, consulte este e este itens de ajuda. Eu acho que eles poderiam ajudar.
megabyte1024
1
@CharlesChow Você pode usar SpreadsheetApp.getActiveSheet (). GetActiveCell (). GetRow () e SpreadsheetApp.getActiveSheet (). GetActiveCell (). GetColumn ()
Agostinho C
42

Use o setValuemétodo da Rangeclasse para definir o valor de uma célula específica.

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

Você também pode selecionar uma célula usando os números de linha e coluna.

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

Também é possível definir o valor de várias células ao mesmo tempo.

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

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

Solução: SpreadsheetApp.getActiveSheet().getRange('F2').setValue('hello')

Explicação:

Definindo valor em uma célula da planilha à qual o script está anexado

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

Definindo valor em uma célula da planilha que está aberta atualmente e a qual script está anexado

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

Definir valor em uma célula em uma planilha à qual o script NÃO está anexado (nome da planilha de destino conhecido)

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

Definir valor em uma célula em uma planilha à qual o script NÃO está anexado (posição da folha de destino conhecida)

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

Estas são constantes, você mesmo deve defini-las

SHEET_ID

SHEET_NAME

POSITION

VALUE

RANGE

Por script anexado a uma planilha, quero dizer que o script reside no editor de scripts dessa planilha. Não anexado significa não residir no editor de scripts dessa planilha. Pode estar em qualquer outro lugar.

Umair Mohammad
fonte