Como enviar e-mail em uma planilha do Google com o Google Scripts

Aprenda a usar o Google Script para automatizar as ferramentas de produtividade do Google, como o Planilhas Google e o Documentos Google, e economize horas de trabalho.

Aprenda a usar o Google Script para automatizar as ferramentas de produtividade do Google, como o Planilhas Google e o Documentos Google, e economize horas de trabalho.
Propaganda

O Google Scripts é uma ferramenta poderosa que você pode usar para automatizar as ferramentas de produtividade do Google Como criar um relatório de planilha automatizada do Google a partir de dados do Google Analytics Como criar um relatório de planilha automatizada do Google a partir de dados do Google Analytics Leia mais como planilhas e documentos. A capacidade de enviar e-mails automaticamente torna-a uma ferramenta extra poderosa.

Talvez você seja um funcionário que espera enviar um e-mail mensal ao seu chefe com fórmulas calculadas automaticamente no Planilhas Google Visualize seus dados e faça suas planilhas amigáveis ​​com um painel do Excel Visualize seus dados e faça com que suas planilhas sejam amigáveis ​​com um painel do Excel Às vezes, um formato de planilha simples não é atraente o suficiente para tornar seus dados acessíveis. Um painel permite que você apresente seus dados mais importantes em um formato fácil de digerir. Consulte Mais informação . Ou talvez você seja um gerente que gasta muito tempo enviando emails para membros individuais da sua equipe com dados de desempenho ou atualizações de status. A função Google Scripts que você aprenderá neste artigo ajudará você a realizar essas tarefas e muito mais.

Com um pouco de esforço, você nunca precisará enviar dados manualmente novamente. Deixe o Google Scripts atuar como seu próprio assistente pessoal, fazendo todo o trabalho para você.

Configurando sua planilha para enviar e-mail

A primeira etapa para fazer seu Google Script enviar e-mails pelo Planilhas Google é configurar corretamente uma planilha com todos os nomes, endereços de e-mail e mensagens para todas as pessoas para as quais você deseja enviar o e-mail.

No meu exemplo, estou começando com uma planilha que configurei para importar automaticamente todos os artigos publicados para o mês do Google Analytics Criar um painel do Killer Website Analytics com a API do Google Core Reporting Criar um painel do Killer Website Analytics com o Google Core Reporting API Gostaria de publicar um site e executá-lo cegamente, ou você gostaria de um painel funcional completo que mostre o que está acontecendo com o site em todos os momentos? Consulte Mais informação . Eu criei uma folha de "Todos os Autores" que registra os artigos publicados para cada autor, e agora eu quero enviar a cada autor um e-mail com sua conta.

Para começar, crie sua folha de e-mail especial adicionando uma nova planilha em sua planilha atual e chame-a de algo como "Enviar e-mails".

enviar e-mail scripts do google

Nesta nova folha de envio de e-mails, você vai querer criar um cabeçalho. Cada linha nesta planilha representará um e-mail individual que será enviado. Portanto, neste exemplo, criei uma planilha para o nome do destinatário, seu endereço de e-mail e partes da mensagem que vou juntar no script.

enviar e-mail scripts do google

Você pode criar um email de qualquer tamanho e estrutura usando colunas para juntar informações estáticas e dinâmicas.

enviar e-mail scripts do google

A informação estática é apenas o texto que eu digitei na célula. Isso não vai mudar de mês para mês. É apenas uma parte da mensagem de email que permanece sempre a mesma. No entanto, para os dados que você deseja alterar todo mês, você pode inserir funções que importarão os dados relevantes de qualquer outra planilha na sua planilha.

enviar e-mail scripts do google

A ideia aqui é que sempre que você abrir a planilha para revisar seu relatório automatizado, você terá um item de menu em que poderá clicar para executar o e-mail de envio do Google Script e distribuir os resultados para todos. Você verá como personalizar esse novo item de menu na parte inferior deste artigo.

Quando terminar de criar sua planilha, será algo como isto:

enviar e-mail scripts do google

Agora que sua planilha para todos os e-mails individuais está pronta, é hora de escrever o roteiro!

Escrevendo o script de email automatizado

Para escrever seu script, você precisa usar o editor de script. Você encontrará o editor de script no menu Ferramentas selecionando Editor de script .

enviar e-mail scripts do google

O editor de script será algo como abaixo. Você precisará criar uma nova função na parte superior do painel à direita.

enviar e-mail scripts do google

Basta copiar e colar o script abaixo na área do 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 + ', \n\n' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3; var subject = 'Your article count for this month'; MailApp.sendEmail(emailAddress, subject, message); } } 

Este script pode parecer um pouco complicado, mas na verdade não é nada. Vamos dividi-lo para que você saiba exatamente o que cada linha está fazendo.

Quebrando o Código

Para que essa função funcione corretamente, é necessário garantir que a planilha na qual todas as suas informações de email estão armazenadas é, na verdade, a planilha ativa. Caso contrário, tudo o que vier depois não funcionará. É para isso que essas duas linhas são:

 var ss = SpreadsheetApp.getActiveSpreadsheet(); ss.setActiveSheet(ss.getSheetByName("Send-Emails")); 

Em seguida, precisamos extrair todos os dados dessa planilha. O método sheet.GetRange () extrairá informações de qualquer intervalo de células fornecido entre aspas. Em seguida, o método dataRange.getValues ​​() na verdade extrai os valores e os armazena em uma matriz bidimensional chamada data .

 var sheet = SpreadsheetApp.getActiveSheet(); var dataRange = sheet.getRange("A2:F4"); var data = dataRange.getValues(); 

Agora que temos todos os dados armazenados em uma matriz, podemos percorrer a matriz usando um loop for . Cada elemento da matriz é uma linha que contém uma matriz unidimensional de elementos da coluna. Você pode referenciar cada coluna usando um número.

 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]; 

Como você pode ver acima, eu puxei os elementos da coluna em uma matriz unidimensional chamada rowData . Em seguida, faço referência à segunda coluna (para obter o endereço de email) referenciando rowData [1], o segundo elemento da matriz (o primeiro elemento de uma matriz é sempre zero).

O próximo passo nesta função é reunir todos os segmentos das mensagens que compõem o corpo do email. O bom disso é que você pode realmente dar ao conteúdo do email um bom formato usando o caractere \ n, que é um retorno de carro. Veja como é a concatenação do corpo do email:

 var message = 'Dear ' + recipient + ', \n\n' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3; 

O caractere + é o comando de concatenação 16 Fórmulas do Excel que o ajudarão a solucionar problemas da vida real 16 Fórmulas do Excel que o ajudarão a solucionar problemas da vida real A ferramenta certa é metade do trabalho. O Excel pode resolver cálculos e processar dados mais rapidamente do que você pode encontrar sua calculadora. Mostramos as principais fórmulas do Excel e demonstramos como usá-las. Consulte Mais informação . Você coloca o texto estático real dentro de aspas simples. Então, esta mensagem é reunida colocando a palavra “Querido” na frente da variável receptora (note que “Caro” tem um espaço).

Em seguida, você adiciona dois retornos de carro ao final. Isso iniciará a mensagem real dentro do corpo duas linhas abaixo. Em seguida, você adiciona o primeiro segmento de mensagem, um espaço, o segundo segmento de mensagem, um espaço, a variável que será inserida na mensagem a cada mês e, finalmente, a última parte da mensagem.

Você pode ter quantas partes da mensagem desejar, basta usar mais colunas para criar a mensagem inteira em partes.

As últimas duas linhas do código apenas definem a linha de assunto do email (isso também pode incluir dados da planilha se você quiser) e, finalmente, o método sendEmail () .

Como acionar seu script

De volta à janela do Editor de Script, basta procurar pela função “onOpen”. Se a função estiver lá, você provavelmente verá um monte de código dentro dos colchetes. Vá até o final desse código e insira as seguintes linhas:

 var spreadsheet = SpreadsheetApp.getActive(); var menuItems = [ {name: 'Send Emails', functionName: 'sendArticleCountEmails'} ]; spreadsheet.addMenu('Send Emails', menuItems); 

Apenas certifique-se de digitar o nome exato da sua função entre aspas simples para o parâmetro functionName . Isso carregará um item de menu personalizado na sua planilha sempre que sua planilha for aberta.

enviar e-mail scripts do google

Agora, sempre que você abrir sua planilha mensalmente para revisar todos os seus dados, tudo o que você precisa fazer é clicar no item de menu para enviar os e-mails. Isso executará sua nova função e enviará todos esses emails para você. Um trabalho que costumava levar várias horas agora exigirá apenas um único clique do mouse!

Os scripts do Google podem ajudar você a economizar tempo

Este é apenas um exemplo das muitas maneiras de usar o Google Scripts para automatizar todo tipo de coisas. 4 Scripts do Google que tornam o Google Sheets muito mais poderoso 4 Google Scripts que tornam o Google Sheets muito mais eficiente O Google Planilhas é ótimo de imediato, mas pode ser ainda mais eficiente se você usar o Google Scripts para aprimorar seus recursos. Leia mais para economizar seu tempo. A parte difícil é que isso exige um pouco de trabalho, mas cada minuto que você gasta configurando automação como essa usando scripts é muitas horas salvas. Pense em todas as outras coisas maravilhosas que você poderia fazer com essas horas!

Você já usou scripts inteligentes do Google para automatizar sua produtividade? Compartilhe seus próprios exemplos na seção de comentários abaixo!

In this article