O compartilhamento e
as vantagens do Google Docs já foram citadas em meu artigo anterior,
onde vimos uma maneira de trabalhar com gráfico de Gantt.
A proposta de hoje é coletar informações de contatos em um
formulário, organizá-las em uma planilha e enviar e-mails com base
nessas informações, integrando o Google Docs com o Gmail.
Veja o fluxo abaixo:
Portanto, é importante
que sua conta do Google também tenha habilitação para o Gmail, além do
Docs.
Criando o
formulário de coleta de dados
Vamos criar um formulário que fará a coleta dos dados os
usuários. Um formulário do Google Docs coleta dados e os adiciona em
uma planilha.
Neste exemplo serão
coletados o nome e o e-mail do usuário.
No Google Docs,
clique em Criar novo > Formulário.
Na
tela do formulário, preencha o Título e o Texto informativo.
Edite as perguntas. Um formulário do Google Docs, por padrão, vem com duas
perguntas, neste caso basta editá-las clicando no ícone de edição (um lápis). Clique em concluído pra finalizar.
No primeiro campo, sugira a inserção do nome e, no
segundo, o preenchimento do e-mail.
Se quiser, marque a caixa “tornar esta pergunta
obrigatória” para validar a entrada do campo.
Nota: Você pode inserir o
formulário em um website clicando em Mais Ações
> Incorporar, e também alterar o tema
de visualização clicando no botão tema. Para utilizar o
formulário, utilize o endereço gerado no rodapé.
Clique em Ver
Respostas > Planilha. A planilha de coleta das informações está
pronta para receber os dados.
Modificando
a planilha para enviar e-mails
Agora
é necessário fazer algumas modificações na planilha para que ela possa
enviar e-mail aos usuários cadastrados.
Neste
exemplo, vou utilizar um modelo de texto que será personalizado com o
nome do usuário. Assim, fica fácil editar um novo texto e enviar a todos
os contatos sem necessidade de alteração do script.
Defina a célula D1 como “Texto da mensagem” e a E1 como “Total de usuários”. Agora é necessário saber quantos usuários estão
cadastrados. Para isso, utilizaremos a função CountA, que conta a
quantidade de células com valores em um intervalo definido.
Na célula F1,
defina o valor da fórmula para =CountA(B2:B1000), assim ele contará os usuários da linha 2 até a 1000.
Para isolar o modelo do texto da mensagem, é interessante
condicioná-lo em uma nova planilha.
Clique em Adicionar Página. Clique na na nova planilha (Página2) e selecione Renomear, defina o nome para Modelo.
Na planilha Modelo,
defina as células conforme a figura abaixo:
Perceba que na célula B2
utilizei o texto da seguinte maneira: Olá $nome…
O $nome é um
coringa, para que o texto possa ser personalizado com o nome do usuário.
Para isso, será utilizada a função Substitute.
Na planilha Página1, célula D2, insira a fórmula =SUBSTITUTE(Modelo!$B$2;”$nome”;B2;0). Essa fórmula fará a troca
do texto coringa $nome pelo nome do usuário cadastrado na
planilha.
Replique a fórmula até o fim de sua lista de usuários.
Criando o script para enviar e-mails
A
última parte de nosso estudo, enviar os e-mails para os contatos.
O Google
Docs trabalha com scripts (baseados em linguagem java) que manipulam
classes, otimizando os recursos. Neste exemplo vamos
utilizar a classe MailApp para enviar os e-mails linha a linha.
Clique no menu Ferramentas > Scripts > Editor de
Scripts.
No editor, insira o script
abaixo:
// Envio de e-mail
function EnviarEmail() {
// Variáveis
var vplan = SpreadsheetApp.getActiveSheet();
var vtotal = vplan.getRange("f1").getValue();
var vparamail = "";
var vmsgmail = "";
var vassunto = "Teste de envio";
//Varre a lista de e-mails
for (var i = 2; i < (vtotal+2); ++i){
//Recupera os valores
vparamail = vplan.getRange(i, 3).getValue();
vmsgmail = vplan.getRange(i, 4).getValue();
vplan.getRange(i,5).setValue("E-mail enviado");
// Envia o e-mail
MailApp.sendEmail(vparamail, vassunto, vmsgmail);
}
}?
Salve seu
script como o nome EnviarEmail.
Nota: se preferir, coloque uma
descrição.
Neste momento, o script já pode ser executado da janela do
editor, mas é interessante acessar o mesmo pela forma que será mais
utilizada.
A seguir, feche
a janela do Editor de Script.
Clique em Ferramentas >
Script > Gerenciar… e selecione o script EnviarEmai. Clique em Run.
Nota: na primeira execução, será
necessário autorizar o Gmail a enviar as mensagens, portanto, na tela
abaixo clique em Authorize
Durante a execução, será exibido na coluna E o
texto “E-mail Enviado”, confirmando o envio.
Através desses
procedimentos, podemos atribuir mais uma nova função ao Google Docs,
receptor de dados e envio de e-mails.
Disponibilizei a planilha deste exemplo como
um modelo público.