Je suis un débutant en javascript et j'essaie d'écrire un script pour une feuille de calcul qui en extraira diverses choses. Dès le départ, j'ai du mal à définir un tableau de noms qui figureront dans la feuille de match. L'erreur dit "manquant; avant déclaration (ligne 10)"
function readRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
//var values = rows.getValues();
var Names = sheet.getRange("A2:A7");
var Name = new Array(6);
var Name_cell = Names.getCell(1, 1);
var Name[0] = Name_cell.getValue(); // <-- Here's the issue
var Name_cell = Names.getCell(2, 1);
var Name[1] = Name_cell.getValue();
var Name_cell = Names.getCell(3, 1);
var Name[2] = Name_cell.getValue();
var Name_cell = Names.getCell(4, 1);
var Name[3] = Name_cell.getValue();
var Name_cell = Names.getCell(5, 1);
var Name[4] = Name_cell.getValue();
var Name_cell = Names.getCell(6, 1);
var Name[5] = Name_cell.getValue();
// ...
}
Essaye ça
function readRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
//var values = rows.getValues();
var Names = sheet.getRange("A2:A7");
var Name = [
Names.getCell(1, 1).getValue(),
Names.getCell(2, 1).getValue(),
.....
Names.getCell(5, 1).getValue()]
Vous pouvez définir les tableaux simplement comme suit, au lieu d’allouer, puis d’affecter.
var arr = [1,2,3,5]
Votre erreur initiale était due à la ligne suivante,
var Name[0] = Name_cell.getValue();
Puisque Name
est déjà défini et que vous assignez les valeurs à ses éléments, vous devez ignorer la var
, donc
Name[0] = Name_cell.getValue();
Conseil pro: pour la plupart des problèmes qui, comme celui-ci, n'impliquent pas directement les services Google, vous feriez mieux de rechercher Google de la manière de le faire en javascript.
Je pense que c'est peut-être parce que vous déclarez une variable que vous avez déjà déclarée:
var Name = new Array(6);
//...
var Name[0] = Name_cell.getValue(); // <-- Here's the issue: 'var'
Je pense que cela devrait être comme ça:
var Name = new Array(6);
//...
Name[0] = Name_cell.getValue();
Dis-moi si ça marche! ;)
Cela peut être utile à quelques-uns qui luttent comme moi:
var data = myform.getRange("A:AA").getValues().pop();
var myvariable1 = data[4];
var myvariable2 = data[7];