Google Scripts est un outil puissant que vous pouvez utiliser pour automatiser les outils de productivité Google tels que Sheets et Docs. La possibilité d’envoyer automatiquement des e-mails en fait un supplémentaire outil puissant.
Vous êtes peut-être un employé qui espère envoyer un e-mail mensuel à votre patron avec des formules calculées automatiquement dans Google Sheets. Ou peut-être que vous êtes un gestionnaire qui passe beaucoup trop de temps à envoyer des e-mails à des membres individuels de votre équipe avec des choses comme les données de performances ou les mises à jour de statut. La fonction Google Scripts que vous apprendrez dans cet article vous aidera à accomplir ces tâches et bien plus encore.
Avec juste un petit effort une fois, vous n’aurez plus jamais à envoyer manuellement de données. Laissez Google Scripts agir comme votre propre assistant personnel, faisant tout le travail pour vous.
Configuration de votre feuille pour envoyer un e-mail
La première étape pour que votre script Google envoie du courrier via Google Sheets consiste à configurer correctement une feuille contenant tous les noms, adresses e-mail et messages à toutes les personnes auxquelles vous souhaitez envoyer le script.
Dans mon exemple, je commence par une feuille de calcul que j’ai configurée pour importer automatiquement tous les articles publiés pour le mois depuis Google Analytics. J’ai créé une feuille « Tous les auteurs » qui répertorie les articles publiés pour chaque auteur, et maintenant je veux envoyer un courriel à chaque auteur avec son décompte.
Pour commencer, créez votre feuille d’e-mail spéciale en ajoutant une nouvelle feuille dans votre feuille de calcul actuelle et appelez-la quelque chose comme « Send-Emails ».
Dans cette nouvelle feuille d’envoi d’emails, vous souhaiterez créer un en-tête. Chaque ligne de cette feuille de calcul représentera un e-mail individuel qui sera envoyé. Dans cet exemple, j’ai créé une feuille pour le nom du destinataire, son adresse e-mail et des éléments du message que je vais reconstituer à l’intérieur du script.
Vous pouvez créer un e-mail de n’importe quelle taille et structure en utilisant des colonnes pour reconstituer des informations statiques et dynamiques.
Les informations statiques ne sont que du texte que j’ai tapé dans la cellule. Cela ne changera pas d’un mois à l’autre. Ce n’est qu’une partie du message électronique qui reste toujours la même. Cependant, pour les données que vous souhaitez modifier chaque mois, vous pouvez insérer des fonctions qui importeront les données pertinentes de toute autre feuille dans votre feuille de calcul.
L’idée ici est que chaque fois que vous ouvrez la feuille pour examiner votre rapport automatisé, vous aurez un élément de menu sur lequel vous pouvez cliquer pour exécuter l’e-mail d’envoi de Google Script et distribuer les résultats à tout le monde. Vous verrez comment personnaliser ce nouvel élément de menu au bas de cet article.
Une fois que vous avez terminé de créer votre feuille, elle ressemble à ceci:
Maintenant que votre feuille pour tous les e-mails individuels est prête, il est enfin temps d’écrire le script!
Écriture du script de courrier électronique automatisé
Pour écrire votre script, vous devez utiliser l’éditeur de script. Vous trouverez l’éditeur de script sous le Outils menu en sélectionnant Éditeur de script.
L’éditeur de script ressemblera à quelque chose comme ci-dessous. Vous devrez créer une nouvelle fonction en haut du volet de droite.
Copiez et collez simplement le script ci-dessous dans la zone de script.
function sendArticleCountEmails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("Send-Emails"));
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange("A2:F4");
var data = dataRange.getValues();
for (i in data) {
var rowData = data[i];
var emailAddress = rowData[1];
var recipient = rowData[0];
var message1 = rowData[2];
var message2 = rowData[3];
var parameter2 = rowData[4];
var message3 = rowData[5];
var message="Dear " + recipient + ',nn' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3;
var subject="Your article count for this month";
MailApp.sendEmail(emailAddress, subject, message);
}
}
Ce script peut sembler quelque peu compliqué, mais il ne l’est pas du tout. Décomposons-le pour savoir exactement ce que fait chaque ligne.
Décomposer le code
Pour que cette fonction fonctionne correctement, vous devez vous assurer que la feuille dans laquelle toutes vos informations de messagerie sont stockées est bien la feuille active. Sinon, tout ce qui vient après ne fonctionnera pas. C’est à cela que servent ces deux lignes:
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("Send-Emails"));
Ensuite, nous devons extraire toutes les données de cette feuille. le sheet.GetRange () La méthode extrait les informations de la plage de cellules que vous fournissez entre guillemets. Ensuite, le dataRange.getValues () extrait en fait les valeurs et les stocke dans un tableau à deux dimensions appelé Les données.
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange("A2:F4");
var data = dataRange.getValues();
Maintenant que nous avons toutes les données stockées dans un tableau, nous pouvons parcourir le tableau en utilisant un pour boucle. Chaque élément du tableau est une ligne qui contient un tableau unidimensionnel d’éléments de colonne. Vous pouvez référencer chaque colonne à l’aide d’un nombre.
var rowData = data[i];
var emailAddress = rowData[1];
var recipient = rowData[0];
var message1 = rowData[2];
var message2 = rowData[3];
var parameter2 = rowData[4];
var message3 = rowData[5];
Comme vous pouvez le voir ci-dessus, j’ai tiré les éléments de la colonne dans un tableau unidimensionnel appelé données de ligne. Ensuite je référence la deuxième colonne (pour obtenir l’adresse email) en référençant données de ligne[1], le deuxième élément du tableau (le premier élément d’un tableau est toujours zéro).
L’étape suivante de cette fonction consiste à reconstituer tous les segments des messages qui composent le corps de l’e-mail. La bonne chose ici est que vous pouvez réellement donner au contenu du courrier électronique un assez bon format en utilisant le n , qui est un retour chariot. Voici à quoi ressemble la concaténation du corps de l’e-mail:
var message="Dear " + recipient + ',nn' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3;
le + caractère est la commande de concaténation. Vous mettez du texte statique réel à l’intérieur de guillemets simples. Donc, ce message est reconstitué en plaçant le mot «Cher» devant la variable destinataire (notez que «Cher» a un espace).
Ensuite, vous ajoutez deux retours chariot à la fin. Cela commencera le message réel à l’intérieur du corps deux lignes plus bas. Ensuite, vous ajoutez le premier segment de message, un espace, le deuxième segment de message, un espace, la variable qui sera insérée dans le message chaque mois, et enfin la dernière partie du message.
Vous pouvez avoir autant de morceaux du message que vous le souhaitez, il vous suffit d’utiliser plus de colonnes pour créer le message entier en morceaux.
Les deux dernières lignes du code viennent de définir la ligne d’objet de l’e-mail (cela peut également inclure des données de la feuille de calcul si vous le souhaitez), et enfin le sendEmail () méthode.
Comment déclencher votre script
De retour dans la fenêtre de l’éditeur de script, recherchez simplement la fonction «onOpen». Si la fonction est là, vous verrez probablement un tas de code à l’intérieur des crochets. Allez au bas de ce code et insérez les lignes suivantes:
var spreadsheet = SpreadsheetApp.getActive();
var menuItems = [
{name: 'Send Emails', functionName: 'sendArticleCountEmails'}
];
spreadsheet.addMenu('Send Emails', menuItems);
Assurez-vous simplement de taper le nom exact de votre fonction entre guillemets simples pour le functionName paramètre. Cela chargera un élément de menu personnalisé dans votre feuille à chaque ouverture de votre feuille.
Maintenant, chaque fois que vous ouvrez votre feuille de calcul sur une base mensuelle pour examiner toutes vos données, il vous suffit de cliquer sur l’élément de menu pour envoyer les e-mails. Cela exécutera votre nouvelle fonction et enverra tous ces e-mails pour vous. Un travail qui vous prenait plusieurs heures ne nécessitera désormais plus qu’un seul clic de souris!
Les scripts Google peuvent vous aider à gagner du temps
Ce n’est qu’un exemple des nombreuses façons dont vous pouvez utiliser Google Scripts pour automatiser toutes sortes de choses qui vous font gagner du temps. Par exemple, vous pouvez utiliser Google Scripts pour générer automatiquement un rapport Google Analytics. La partie difficile est seulement que cela prend un peu de travail à l’avance, mais chaque minute que vous passez à configurer l’automatisation comme celle-ci à l’aide de scripts représente de nombreuses heures économisées. Pensez à toutes les autres choses merveilleuses que vous pourriez faire avec ces heures!
Avez-vous déjà utilisé des scripts Google intelligents pour automatiser votre productivité? Partagez vos propres exemples dans la section commentaires ci-dessous!
Soutenez notre effort ❤️
Si vous avez apprécié cet article, pensez à laisser un pourboire pour nous aider à continuer à publier du contenu de qualité.




























