Comment puis-je remplacer du texte dans une feuille de calcul avec Google Apps Script?
Je veux trouver un texte spécifié dans la feuille de calcul et de le remplacer par un autre mot. J'ai essayé comme ceci.
sheet = SpreadsheetApp.getActiveSheet()
sheet.replaceText ('ga: sessions','Sessions');
Puis il dit "Cannot find function replaceText in object Sheet."
Vous devez vous connecter pour publier un commentaire.
de Cameron Roberts réponse qui fonctionne dans presque tous les cas (si toutes les cellules sont remplies avec des cordes) et juste pour taper la commodité (veuillez accepter sa réponse) voici le même script avec un petit changement dans la fonction map : j'ai ajouté toString() pour le retour de l'argument.
Vous pouvez atteindre cet objectif par la lecture de toutes les valeurs dans la feuille (comme un Tableau), en Boucle sur le tableau, remplacer les valeurs, puis l'écriture de l'ensemble de la matrice de retour à la feuille.
Il y a un exemple de base ci-dessous. Vous devrez peut-être modifier cette si votre feuille contient des formules, ou si vous souhaitez remplacer le texte plus d'une fois dans une cellule donnée.
Noter que toutes les modifications apportées à la feuille entre le temps de vous lire et écrire les données seront perdues, et pourrait briser cet exemple.
Documentation:
Tableau.carte: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
Chaîne.remplacer: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
Feuille.getDataRange: https://developers.google.com/apps-script/reference/spreadsheet/sheet#getDataRange()
gamme.GetValues: https://developers.google.com/apps-script/reference/spreadsheet/range#getValues()
La getActiveSheet() renvoie une Fiche objet dont les fonctions sont documentées sur le lien. Il serait génial si il y avait une API comme ça, mais actuellement, vous devez supprimer et insérer (lignes, colonnes, ou le contenu d'une plage spécifique) afin d'être en mesure de faire ce genre de remplacement.
Essayer quelque chose comme cela:
C'est ce qui a fonctionné pour moi, et c'est simple.
JS: