J'essaie d'écrire un script qui définit la fonction IMPORTRANGE dans une cellule spécifique, en utilisant comme clé le contenu d'une autre cellule. J'ai la liste des clés dans Sheet2
et voici ce que j'ai jusqu'à présent:
cellA2 = sheet2.getRange(row,1);
cellA2value = cellA2.getValue();
Logger.log(cellA2value)
cellA1.setFormula('=IMPORTRANGE(cellA2value, "Sheet1!b2:b20")');
Eh bien, lorsque je regarde dans le journal, je peux effectivement voir la clé des feuilles de Google à partir desquelles je veux importer la plage, mais lorsque je lance le script, la formule ne reçoit pas le texte tel que je le veux, mais laisse cellA2value
tel quel. J'ai déjà essayé avec des citations simples et doubles.
Comment résoudre ce problème?
Dans l'expression
'=IMPORTRANGE(cellA2value, "Sheet1!b2:b20")'
cellA2value
n'est qu'une chaîne, un groupe de caractères sans signification particulière: lettre c suivie de lettre e, etc. Ce que tu voulais c'est
'=IMPORTRANGE(' + cellA2value + ', "Sheet1!b2:b20")'
qui est la concaténation de trois chaînes, la seconde étant cellA2value.
En passant, importrange
doit être approuvé par l'utilisateur lors de la première importation d'un tableur (via la boîte de dialogue "Connecter ces tableurs"). Vous devrez donc vous assurer que chacune des sources possibles est approuvée de cette manière.