Comment définir la valeur d'une cellule dans Google Sheets à l'aide d'Apps Script?

134

Je souhaite définir du texte ou un nombre dans Google Sheet à partir du script.

Je veux définir Helloou numéroter 9dans la cellule F2. J'ai trouvé ce code jusqu'à présent:

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

mais cela ne spécifie pas quelle cellule.

Antennes
la source
4
puis-je vous suggérer de lire les bases d'Appscript en essayant les tutoriels?
Serge insas

Réponses:

214

Le code suivant fait ce qui est requis

function doTest() {
  SpreadsheetApp.getActiveSheet().getRange('F2').setValue('Hello');
}
mégaoctet1024
la source
2
comment getRange avec des nombres? quelles sont les coordonnées de la cellule c2?
JuanPablo
5
C2 est la troisième colonne, deuxième ligne, donc >> getRange (2,3) >> getRange (row, col)
Serge insas
Salut Savez-vous maintenant comment obtenir la ligne et le numéro de colonne de la cellule actuelle? Comment puis-je définir la valeur de la cellule actuelle?
Charles Chow
@CharlesChow, je suis désolé, mais je ne suis plus impliqué dans le développement de GAS. Veuillez vous référer à ceci et à ces éléments d'aide. Je pense qu'ils pourraient aider.
megabyte1024
1
@CharlesChow Vous pouvez utiliser SpreadsheetApp.getActiveSheet (). GetActiveCell (). GetRow () et SpreadsheetApp.getActiveSheet (). GetActiveCell (). GetColumn ()
Augustine C
42

Utilisez la setValueméthode de la Rangeclasse pour définir la valeur d'une cellule particulière.

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

Vous pouvez également sélectionner une cellule à l'aide des numéros de ligne et de colonne.

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

Il est également possible de définir la valeur de plusieurs cellules à la fois.

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

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

Solution : SpreadsheetApp.getActiveSheet().getRange('F2').setValue('hello')

Explication:

Définition de la valeur dans une cellule de la feuille de calcul à laquelle le script est attaché

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

Valeur de réglage dans une cellule de la feuille actuellement ouverte et à laquelle le script est attaché

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

Valeur de réglage dans une cellule d'une feuille de calcul à laquelle le script n'est PAS attaché (nom de la feuille de destination connu)

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

Valeur de réglage dans une cellule d'une feuille de calcul à laquelle le script n'est PAS attaché (position de la feuille de destination connue)

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

Ce sont des constantes, vous devez les définir vous-même

SHEET_ID

SHEET_NAME

POSITION

VALUE

RANGE

Par script attaché à une feuille, je veux dire que le script réside dans l'éditeur de script de cette feuille. Non attaché signifie ne pas résider dans l'éditeur de script de cette feuille. Cela peut être n'importe où.

Umair Mohammad
la source