web-dev-qa-db-fra.com

IMPORTRANGE en tant que fonction dépendante

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?

3
Francesca

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.

2
user79865