Comment envoyer un email dans une feuille Google avec Google Scripts

Comment envoyer un email dans une feuille Google avec Google Scripts / La programmation

Google Scripts est un outil puissant que vous pouvez utiliser pour automatiser des outils de productivité Google. Comment créer un rapport de feuille de calcul Google automatisé à partir de données Google Analytics Comment créer un rapport de feuille de calcul Google automatisé à partir de données d'Analyse Lire plus comme des feuilles et des documents. La possibilité d’envoyer automatiquement des emails en fait un supplémentaire outil puissant.

Vous êtes peut-être un employé qui espère envoyer un courrier électronique mensuel à votre patron avec des formules automatiquement calculées dans Google Sheets. Visualisez vos données et personnalisez vos feuilles de calcul avec un tableau de bord Excel Visualisez vos données et utilisez vos tableurs avec un tableau de bord Excel Parfois, un format de feuille de calcul simple ne suffit pas à rendre vos données accessibles. Un tableau de bord vous permet de présenter vos données les plus importantes dans un format facile à digérer. Lire la suite . Ou peut-être êtes-vous un responsable qui passe beaucoup trop de temps à envoyer des courriers électroniques à des membres de votre équipe avec des informations telles que 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 ne serez plus jamais obligé d’envoyer manuellement des données. Laissez Google Scripts agir en tant qu'assistant personnel, effectuant tout le travail à votre place..

Configuration de votre feuille pour envoyer un courrier électronique

La première étape pour que votre script Google envoie des messages via Google Sheets consiste à configurer correctement une feuille comportant tous les noms, adresses e-mail et messages à toutes les personnes auxquelles vous souhaitez envoyer le script par courrier électronique..

Dans mon exemple, je commence avec une feuille de calcul que j'ai configurée pour importer automatiquement tous les articles publiés du mois à partir de Google Analytics. Créer un tableau de bord d'analyse de site Web tueur avec Google Core Reporting API Créer un tableau de bord d'analyse de site Web tueur avec Google API principale de création de rapports Souhaitez-vous simplement publier un site et l'exécuter à l'aveuglette, ou préférez-vous un tableau de bord complet et fonctionnel qui vous indique en permanence ce qui se passe sur le site? Lire la suite . J'ai créé un “Tous les auteurs” feuille récapitulant les articles publiés pour chaque auteur, et maintenant je veux envoyer à chaque auteur un email avec son 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 comme suit: “Envoyer des emails”.

Dans cette nouvelle feuille d'envoi de courriels, vous souhaiterez créer un en-tête. Chaque ligne de cette feuille de calcul représente un courrier électronique individuel qui sera envoyé. Ainsi, dans cet exemple, j'ai créé une feuille avec le nom du destinataire, son adresse électronique et les éléments du message que je vais reconstituer à l'intérieur du script..

Vous pouvez créer un courrier électronique de toute taille et structure en utilisant des colonnes pour rassembler des informations statiques et dynamiques..

Les informations statiques sont simplement du texte que j'ai tapé dans la cellule. Cela ne changera pas de mois en mois. C'est juste une partie du message électronique qui reste toujours la même. Toutefois, pour les données que vous souhaitez modifier tous les mois, vous pouvez insérer des fonctions qui importeront les données pertinentes à partir de n’importe quelle autre feuille de 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 pourrez cliquer pour exécuter le script Google Envoyer par courrier électronique et diffuser 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 fini de créer votre feuille, vous verrez à peu près ceci:

Maintenant que votre feuille de tous les courriels 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 aurez besoin de créer une nouvelle fonction en haut du volet de droite.

Il suffit de copier et coller 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 dans les données) var rowData = data [i]; var emailAddress = rowData [1]; var destinataire = rowData [0]; var message1 = rowData [2]; var message2 = rowData [3]; var paramètre2 = rowData [4]; var message3 = rowData [5]; var message = 'Cher' + destinataire + ', \ n \ n' + message1 + "+ message2 +" + paramètre2 + "+ message3; var subject = 'Votre nombre d'articles pour ce mois-ci'; MailApp.sendEmail (emailAddress, subject , message);  

Ce script peut sembler un peu compliqué, mais ce n'est pas du tout. Décomposons-le afin de savoir exactement ce que chaque ligne fait.

Briser le code

Pour que cette fonction fonctionne correctement, vous devez vous assurer que la feuille contenant toutes vos informations de courrier électronique est bien la feuille active. Sinon, tout ce qui vient après ne fonctionnera pas. Voilà à quoi 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 () Cette méthode extraira des informations de toute plage de cellules que vous fournissez entre guillemets. Ensuite, le dataRange.getValues ​​() méthode extrait 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 contenant un tableau à une dimension d'éléments de colonne. Vous pouvez référencer chaque colonne en utilisant un numéro.

var rowData = data [i]; var emailAddress = rowData [1]; var destinataire = rowData [0]; var message1 = rowData [2]; var message2 = rowData [3]; var paramètre2 = rowData [4]; var message3 = rowData [5];

Comme vous pouvez le voir ci-dessus, j'ai tiré les éléments de colonne dans un tableau unidimensionnel appelé données de ligne. Ensuite, je référence la deuxième colonne (pour obtenir l'adresse e-mail) en faisant référence à rowData [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 constituant le corps du courrier électronique. La bonne chose ici est que vous pouvez réellement donner au contenu du courrier électronique un très bon format en utilisant le \ n caractère, qui est un retour chariot. Voici à quoi ressemble la concaténation du corps de l'e-mail:

var message = 'Cher' + destinataire + ', \ n \ n' + message1 + "+ message2 +" + paramètre2 + "+ message3;

le + character est la commande de concaténation 16 Formules Excel qui vous aideront à résoudre les problèmes réels 16 Formules Excel qui vous aideront à résoudre les problèmes réels Le bon outil représente la moitié du travail. Excel peut résoudre les calculs et traiter les données plus rapidement que vous ne pouvez trouver votre calculatrice. Nous vous montrons les formules clés Excel et montrons comment les utiliser. Lire la suite . Vous mettez le texte statique réel à l'intérieur de guillemets simples. Donc, ce message est reconstitué en mettant le mot “cher ” devant la variable destinataire (avis “cher ” a un espace).

Ensuite, vous ajoutez deux retours chariot à la fin. Cela lancera le message dans le 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 de message que vous voulez, vous devez simplement utiliser plus de colonnes pour créer le message entier en morceaux.

Les deux dernières lignes du code définissent simplement 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, il suffit de rechercher le “onOpen” une fonction. 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 tableur = SpreadsheetApp.getActive (); var menuItems = [name: 'Envoyer des emails', functionName: 'sendArticleCountEmails']; spreadsheet.addMenu ('Envoyer des courriels', menuItems);

Assurez-vous simplement de taper le nom exact de votre fonction entre guillemets simples pour le nomfonction paramètre. Cela chargera un élément de menu personnalisé dans votre feuille à chaque ouverture de celle-ci..

Désormais, chaque fois que vous ouvrez votre feuille de calcul mensuellement pour examiner toutes vos données, il vous suffit de cliquer sur l'élément de menu pour envoyer les courriels. Cela lancera votre nouvelle fonction et vous enverra tous ces courriels. Un travail qui vous prenait auparavant plusieurs heures ne nécessite plus qu'un simple clic de souris!

Les scripts Google peuvent vous faire 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. 4 Scripts Google qui rendent Google Sheets beaucoup plus puissant 4 Scripts Google qui permettent de rendre Google Sheets beaucoup plus puissant Google Sheets est tout à fait original, mais il peut être encore plus puissant si vous utilisez Google Scripts pour améliorer ses capacités. Lisez plus qui vous fait 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 une automatisation comme celle-ci à l’aide de scripts, vous fait gagner de nombreuses heures. Pensez simplement à 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!

Explorer plus sur: Google Apps, Spreadsheet.